Dash9231 (06-21-2013),Sabrina_Ferraz (04-02-2016)
*Let's get started:
1. Open your Visual Basic 2008
2. Make a windows form application project
3. Make...
• 2 Textboxes
• 1 Button
• 1 Timer
• 1 OpenFileDialog
• 1 Label
[IMG]https://i807.photobucke*****m/albums/yy358/dxtgamer/Step1.jpg[/IMG]
4. Double click the form then type:
Code:
button1.text = "browse"
label1.text = "Waiting for users input"
timer1.interval = 50
timer1.start()
[IMG]https://i807.photobucke*****m/albums/yy358/dxtgamer/Step2.jpg[/IMG]
5. Double click in your timer then type:
Code:
If IO.File.Exists(OpenFileDialog1.FileName) Then
Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
If TargetProcess.Length = 0 Then
Me.Label1.Text = ("Waiting for " + TextBox1.Text + ".exe")
Else
Timer1.Stop()
Me.Label1.Text = "Successfully Injected!"
Call Inject()
End If
Else
End If
[IMG]https://i807.photobucke*****m/albums/yy358/dxtgamer/Step5.jpg[/IMG]
*The line "
Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
means: the process where you want the dll to be injected.
6.Go to Public Class Form1 then type below:
Code:
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.Ex ecutablePath)
Private Sub Inject()
On Error GoTo 1 ' If error occurs, app will close without any error messages
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()
End Sub
[IMG]https://i807.photobucke*****m/albums/yy358/dxtgamer/Step4.jpg[/IMG]
*The line "1:
Me.Show" means: if the dll injected successfully then it remains open (running) but already inject.
7. Then double click in your button 1 then type:
OpenFileDialog1.Filter = "DLL (*.dll) |*.dll|(*.*) |*.*"
OpenFileDialog1.ShowDialog()
Dim FileName As String
FileName = OpenFileDialog1.FileName.Substring(OpenFileDialog1 .FileName.LastIndexOf(""))
Dim DllFileName As String = FileName.Replace("","")
Me.TextBox2.Text = (DllFileName)
Copy the code on the picture.
COpy The Code Here:
[IMG]https://i807.photobucke*****m/albums/yy358/dxtgamer/Step3.jpg[/IMG]
-=Questions=-
1. What is textbox1 for?
Answer= It is where you will put the process name, should be just (eg."soldierfont") - without quotation mark and without ".exe".
2. Is this Automatically INJECTED?
Answer= Yes. You Can also make it Manully injected by making a radiobutton1 and put this:
Code:
Timer1.stop()
*Then Make a additional button then type inside:
Timer1.Start()
Code:
If IO.File.Exists(OpenFileDialog1.FileName) Then
Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
If TargetProcess.Length = 0 Then
Me.Label1.Text = ("Waiting for " + TextBox1.Text + ".exe")
Else
Timer1.Stop()
Me.Label1.Text = "Successfully Injected!"
Call Inject()
End If
Else
End If
thanks me if this help u ..
Dash9231 (06-21-2013),Sabrina_Ferraz (04-02-2016)
If this method doesn't work, do you have another 'technique'? The code compiles/runs ok, but I think my game stops the API's from working any ideas.Code:LoadLibParamAdr = VirtualAllocEx(TargetProcessHandle, 0, TargetBufferSize, MEM_COMMIT, PAGE_READWRITE) Rtn = WriteProcessMemory(TargetProcessHandle, LoadLibParamAdr, pszLibFileRemote, TargetBufferSize, 0) CreateRemoteThread(TargetProcessHandle, 0, 0, pfnStartAddr, LoadLibParamAdr, 0, 0)
^^hypo.
'Some things that can be counted, don't matter. And some things that matter, can't be counted' - A.E.
--
You can try using my Injection Library found here.
You can win the rat race,Originally Posted by Jeremy S. Anderson
But you're still nothing but a fucking RAT.
++Latest Projects++
[Open Source] Injection Library
Simple PE Cipher
FilthyHooker - Simple Hooking Class
CLR Injector - Inject .NET dlls with ease
Simple Injection - An in-depth look
MPGH's .NET SDK
eJect - Simple Injector
Basic PE Explorer (BETA)
@Jason looking at source now. much thnx.
@OP any thoughts?
Last edited by abuckau907; 01-09-2013 at 01:51 AM.
'Some things that can be counted, don't matter. And some things that matter, can't be counted' - A.E.
--
@abuckau907
What game you having tissues with?
Have you tried quickly injecting before the api's are blocked.
@Pingo I have no problem. I said 'if' it doesn't work. (I think the game may stop the API because the game is new: no technical reason. hypothetically) Merely trying to converse with OP. Thanks for offering help tho
Last edited by abuckau907; 01-09-2013 at 07:21 AM.
'Some things that can be counted, don't matter. And some things that matter, can't be counted' - A.E.
--
Thanks so much for this
does the codes work? cuz im making one now
I haven't read it line for line, but looks like it should* load some .dll into a given process. Just be careful, most games know about this type of technique (there are a few ways to do it..). so it'll work for pinball.exe, but maybe not the newest fps game. Depends on the game.
'Some things that can be counted, don't matter. And some things that matter, can't be counted' - A.E.
--
pago bem pra me ensinar a fazer injetor e dlls meu skipe é carlinhos.macedo1 e meu msn carlos1323@oi.com.br
Last edited by paa1323; 02-20-2013 at 02:45 PM. Reason: falto algo
copy paster :P
.Suicide (02-26-2013)