Beruflich Dokumente
Kultur Dokumente
''''Class
Private TargetProcessHandle As Integer
Private pfnStartAddr As Integer
Private pszLibFileRemote As String
Private TargetBufferSize As Integer
Public Const PROCESS_VM_READ = &H10
Public Const TH32CS_SNAPPROCESS = &H2
Public Const MEM_COMMIT = 4096
Public Const PAGE_READWRITE = 4
Public Const PROCESS_CREATE_THREAD = (&H2)
Public Const PROCESS_VM_OPERATION = (&H8)
Public Const PROCESS_VM_WRITE = (&H20)
Public Declare Function ReadProcessMemory Lib "kernel32" ( _
ByVal hProcess As Integer, _
ByVal lpBaseAddress As Integer, _
ByVal lpBuffer As String, _
ByVal nSize As Integer, _
ByRef lpNumberOfBytesWritten As Integer) As Integer
Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" ( _
ByVal lpLibFileName As String) As Integer
Public Declare Function VirtualAllocEx Lib "kernel32" ( _
ByVal hProcess As Integer, _
ByVal lpAddress As Integer, _
ByVal dwSize As Integer, _
ByVal flAllocationType As Integer, _
ByVal flProtect As Integer) As Integer
Public Declare Function WriteProcessMemory Lib "kernel32" ( _
ByVal hProcess As Integer, _
ByVal lpBaseAddress As Integer, _
ByVal lpBuffer As String, _
ByVal nSize As Integer, _
ByRef lpNumberOfBytesWritten As Integer) As Integer
Public Declare Function GetProcAddress Lib "kernel32" ( _
ByVal hModule As Integer, ByVal lpProcName As String) As Integer
Private Declare Function GetModuleHandle Lib "Kernel32" Alias
"GetModuleHandleA" ( _
ByVal lpModuleName As String) As Integer
Public Declare Function CreateRemoteThread Lib "kernel32" ( _
ByVal hProcess As Integer, _
ByVal lpThreadAttributes As Integer, _
ByVal dwStackSize As Integer, _
ByVal lpStartAddress As Integer, _
ByVal lpParameter As Integer, _
ByVal dwCreationFlags As Integer, _
ByRef lpThreadId As IntPtr) As Integer
Public Declare Function OpenProcess Lib "kernel32" ( _
ByVal dwDesiredAccess As Integer, _
ByVal bInheritHandle As Integer, _
ByVal dwProcessId As Integer) As Integer
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
ByVal lpClassName As String, _
ByVal lpWindowName As String) As Integer
Private Declare Function CloseHandle Lib "kernel32" Alias "CloseHandleA" ( _
ByVal hObject As Integer) As Integer
Dim ExeName As String =
IO.Path.GetFileNameWithoutExtension(Application.ExecutablePath)
Dim SCurrentDll As String
Dim objMutex As Mutex
''''''''FormLoad
objMutex = New Mutex(False, "ST70R")
If objMutex.WaitOne(0, False) = False Then
objMutex.Close()
objMutex = Nothing
MessageBox.Show("Error !!")
End
End If
'''''''InjectTimer
If IO.File.Exists(OpenFileDialog1.FileName) Then
Dim TargetProcess As Process() =
Process.GetProcessesByName(ProcessTextBox.Text)
If TargetProcess.Length = 0 Then
StatusLabel.ForeColor = Color.Red
StatusLabel.Text = ("Waiting for " + ProcessTextBox.Text + ".exe")
Else
InjectTimer.Stop()
DelayTimer.Start()
End If
Else
End If
''''''DelayTimer
If DelayNumeric.Value = 0 Then
DelayTimer.Enabled = False
StatusLabel.ForeColor = Color.Lime
StatusLabel.Text = "Successfully Injected!"
For i = 0 To (DllListBox.Items.Count + -1)
SCurrentDll = DllListBox.Items(i)
Call Inject()
If CloseCheckBox.Checked = True Then
End
Else
End If
Next i
Else
DelayNumeric.Value = DelayNumeric.Value - 1
End If
'''''''InjectButton
If IO.File.Exists(OpenFileDialog1.FileName) Then
Dim TargetProcess As Process() =
Process.GetProcessesByName(ProcessTextBox.Text)
If TargetProcess.Length = 0 Then
StatusLabel.ForeColor = Color.Red
StatusLabel.Text = ("Waiting for " + ProcessTextBox.Text + ".exe")
Else
InjectTimer.Stop()
DelayTimer.Start()
End If
Else
End If
''''''BrowseButton
OpenFileDialog1.Filter = "DLL (*.dll) |*.dll"
OpenFileDialog1.ShowDialog()
''''''RemoveButton
For i As Integer = (DllListBox.SelectedItems.Count - 1) To 0 Step -1
DllListBox.Items.Remove(DllListBox.SelectedItems(i))
Next
''''''ClearAllButton
DllListBox.Items.Clear()
''''''OpenFileDialog
Dim FileName As String
FileName =
OpenFileDialog1.FileName.Substring(OpenFileDialog1.FileName.LastIndexOf("\"))
Dim DllFileName As String = FileName.Replace("\", "")
DllListBox.Items.Add(DllFileName)
''''''AutoRadioButton
InjectButton.Enabled = False
InjectTimer.Enabled = True
''''''ManualRadioButton
InjectButton.Enabled = True
InjectTimer.Enabled = False