Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Imports System.Threading
- Public Class Form1
- 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)
- Dim DLLFileName As String
- 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 Integer) 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)
- Private Sub Inject()
- On Error GoTo 1
- Timer1.Stop()
- Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
- TargetProcessHandle = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, False, TargetProcess(0).Id)
- pszLibFileRemote = OpenFileDialog1.FileName
- pfnStartAddr = GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA")
- TargetBufferSize = 1 + Len(pszLibFileRemote)
- Dim Rtn As Integer
- Dim LoadLibParamAdr As Integer
- LoadLibParamAdr = VirtualAllocEx(TargetProcessHandle, 0, TargetBufferSize, MEM_COMMIT, PAGE_READWRITE)
- Rtn = WriteProcessMemory(TargetProcessHandle, LoadLibParamAdr, pszLibFileRemote, TargetBufferSize, 0)
- CreateRemoteThread(TargetProcessHandle, 0, 0, pfnStartAddr, LoadLibParamAdr, 0, 0)
- CloseHandle(TargetProcessHandle)
- 1: Me.Show()
- MsgBox("Injection Sucessful!!!", MsgBoxStyle.OkOnly)
- End Sub
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Button1.Text = "Select Hack"
- Label1.Text = "Awaiting Input"
- Timer1.Interval = 50
- Timer1.Start()
- Timer1.Enabled = True
- End Sub
- Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
- If IO.File.Exists(OpenFileDialog1.FileName) And (TargetProcess.Length = 0) Then
- Label1.ForeColor = Color.YellowGreen
- Me.Label1.Text = ("Searching for " + TextBox1.Text)
- ProgressBar1.Visible = True
- ProgressBar1.Enabled = True
- Else
- If IO.File.Exists(OpenFileDialog1.FileName) And (TargetProcess.Length) < 0 Then
- Label1.ForeColor = Color.Lime
- Me.Label1.Text = (TextBox1.Text + " Successfully Injected!")
- ProgressBar1.Visible = False
- ProgressBar1.Enabled = False
- Call Inject()
- Thread.Sleep(50)
- Timer1.Stop()
- exitme()
- End If
- End If
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- OpenFileDialog1.Filter = "Dll Files (*.dll) |*.dll|All files (*.*) |*.*"
- If Me.OpenFileDialog1.ShowDialog <> Windows.Forms.DialogResult.OK Then Exit Sub
- Dim FileName As String
- FileName = OpenFileDialog1.FileName.Substring(OpenFileDialog1.FileName.LastIndexOf("\"))
- Dim DllFileName As String = FileName.Replace("\", "")
- If TextBox2.Text <= "" Then
- Me.TextBox2.Text = (DllFileName)
- ElseIf TextBox2.Text > "" Then
- Me.TextBox3.Text = (DllFileName)
- End If
- End Sub
- Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
- Label1.ForeColor = Color.Red
- If ComboBox1.SelectedItem = "Vindictus" Then
- TextBox1.Text = "Vindictus"
- Label1.Text = "Select your hack to inject"
- Else
- If ComboBox1.SelectedItem = "Combat Arms" Then
- TextBox1.Text = "Engine"
- Label1.Text = "Select your hack to inject"
- ElseIf ComboBox1.SelectedItem = "Modern Warfare 2" Then
- Label1.Text = "Select your hack to inject"
- End If
- End If
- End Sub
- Public Sub startgame()
- If ComboBox1.SelectedItem = "Vindictus" Then
- Shell("C:\Nexon\Vindictus\en-US\Vindictus.exe")
- ElseIf ComboBox1.SelectedItem = "Combat Arms" Then
- Shell("C:\Nexon\Combat Arms\CombatArms_Direct.exe")
- ElseIf ComboBox1.SelectedItem = "Modern Warfare 2" Then
- Shell("C:\Program Files\Activision\Modern Warfare 2\iw4sp.exe")
- End If
- End Sub
- Public Sub exitme()
- Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
- If TargetProcess.Length > 0 Then
- Label1.Text = "Exiting"
- Thread.Sleep(50)
- Close()
- End If
- End Sub
- Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click
- Label1.Text = "Exiting"
- Thread.Sleep(50)
- Close()
- End Sub
- Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click
- Form3.Show()
- End Sub
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- If IO.File.Exists(OpenFileDialog1.FileName) Then
- Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
- If TargetProcess.Length = 0 Then
- Label1.ForeColor = Color.Lime
- Me.Label1.Text = (TextBox1.Text + " Injection started!!!")
- ProgressBar1.Visible = False
- ProgressBar1.Enabled = False
- startgame()
- Inject()
- Thread.Sleep(50)
- exitme()
- Else
- Label1.ForeColor = Color.Red
- Label1.Text = "Failed to launch, retrying"
- Thread.Sleep(50)
- startgame()
- Call Inject()
- End If
- End If
- End Sub
- End Class
Advertisement
Add Comment
Please, Sign In to add comment