yea same to me, anyway hopefordope you rocks
If you guys can't follow a tutorial like this one, and ask what "Form1_Load" is, then don't code an injector.
Go lower, and read a book instead.
You also have to make something for GetAsyncKeyState to work properly, but figure it out yourself..
yea same to me, anyway hopefordope you rocks
What a cool tutorial. I'll install VB & Follow it now Thnx man!
HOPEFORDOPE YOU JUST ROCKS!¨!!!!!!!!!!!!!!!!!!!!!!!!!!
lol thnx ok i am gonna make a TUT on this injector wit pictures and post it in this weekend
Press Thank You[IMG]https://i45.tinypic.com/2hg8w0n.jpghttps://img1.UploadScreensho*****m/images/main/2/3203234450.jpg[/IMG]
My Releases
Injector 3G
Injector 2G
Injector 1G
Super Spammer
CA Cleaner
My Tutorials
How to Make a real Injector(PerX)
How to Make a Calculator(leeched)
/b/oss (02-24-2010)
Try making a video tutorial using Camtasia so its very easy
Just remember to give credit hope, This code matches word for word d3y3q3 code from zhidao.
That part gives me errors.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.ExecutablePath)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
Last edited by Telenim; 02-24-2010 at 11:14 AM. Reason: pie
Press Thank You[IMG]https://i45.tinypic.com/2hg8w0n.jpghttps://img1.UploadScreensho*****m/images/main/2/3203234450.jpg[/IMG]
My Releases
Injector 3G
Injector 2G
Injector 1G
Super Spammer
CA Cleaner
My Tutorials
How to Make a real Injector(PerX)
How to Make a Calculator(leeched)
/b/oss (02-26-2010)
¸hopefordope please make vid or pic.tut. tyvm you rocks!
very nice, but there is already a tut on injectors by Ugleh
@telnim
In this part of the code
Look at the end of this lineCode:Dim ExeName As String = IO.Path.GetFileNameWithoutExtension(Application.ExecutablePath)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
And hit enter so it does thisCode:Dim ExeName As String = IO.Path.GetFileNameWithoutExtension(Application.ExecutablePath)Private Sub Inject()
That will fix that part of the codeCode:Dim ExeName As String = IO.Path.GetFileNameWithoutExtension(Application.ExecutablePath) Private Sub Inject()
@ Haxor,
I am ok with numerous tuts, some tuts will be different and allows various ways to create a project, which can be beneficial , However, Posting the same tuts, or other tuts over and over are redundant, and it's even worse when the tutorial needs corrections, So I wil lpsot the fixes, Make it work
Last edited by NextGen1; 02-26-2010 at 10:43 AM.
Javierez (06-20-2010)
Here you go,
Ok, This is a ammendment to [leeched]"Hopes Tutorial"
Original Credits to (Immortal- , Ugleh, and d3y3q3)
Note: On the areas that reference dll.something, Change dll to listbox1 in the code, or change listbox1 name to dll
Start Up VB.net
You will need numerous components placed on the form,
I will briefly discuss each one, Hope says you need 4 buttons, Fact is
you will need more, plus need to change some properties, So as I go through his tutorial, I will make slight changes and make it easier to follow
You will Need Buttons (I think 6, But again I will have you add them as you need them)
You will need a OpenDialog Component
Properties - Set MultiSelect = True.
You Will need a label
You will need a ListBox
Here is a picture of how I set mine up at this point (just for reference)
[IMG]https://i111.photobucke*****m/albums/n121/golmor/min.jpg[/IMG]
--- Create A New Windows Application
--- Call It Dll Injection
In Between
Add this CodeCode:Private Class Form1 End Class
now generate the Form Load Event, You can do this by double clicking on a empty part in the form, or by going to View Code --> Then Clicking the pull down on the top left, select form1 events, then on the right click LoadCode: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 ' 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
in there add this code
-- Add a Timer to the form.Code:Button1.Text = "Browse" Label1.Text = "Waiting for Process Start..." Timer1.Interval = 50 Timer1.Start()
--- Double Click the Timer
In between the timer1.tick event and end sub add the following
---- Add a textbox to your formCode: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() If CheckBox1.Checked = True Then Me.Close() Else End If End If Else End If End Sub
---- Add a ListBox to your form
---- Add a button and change the Text to "Clear Selected"
---- Double Click the button to generate the Button_Click Event,
Add this code
Add another button to the form and double click on it to generate the Button_Click EventCode:For i As Integer = (Dlls.SelectedItems.Count - 1) To 0 Step -1 Dlls.Items.Remove(Dlls.SelectedItems(i)) Next
in between the Button_Click and the End Sub
--Add the following code
-- Now add yet another button to the form and change the name to "Clear List"Code:TextBox1.Clear()
-- Double Click the Button to generate the button_click event
-- Add this code
--now add a openfiledialog to your formCode:ListBox1.Items.Clear()
--and add yet another button to your form and change the text to" Browse"
--Double click the button to generate a Button_Click Event
--and add the following code
Now copy and paste this to your code, do not add it to a button event..... Which hope statesCode: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.Dlls.Items.Add(DllFileName)
-add another button to your form , Double click it again to generate the eventCode:Private Function GetAsyncKeyState(ByVal vKey As Integer) As Short If GetAsyncKeyState(Keys.F12) Then If IO.File.Exists(OpenFileDialog1.FileName) Then Dim TargetProcess As Process() = Process.GetProcessesByName(RadTextBox1.Text) If TargetProcess.Length = 0 Then Me.RadLabelElement1.Text = ("Waiting for " + RadTextBox1.Text + ".exe Injection(F12)...") Else Timer1.Stop() Me.RadLabelElement1.Text = "Successfully Injected!" Call Inject() ' If CheckBox1.Checked = True Then 'Me.Close() 'Else ' End If End If Else End If End If End Function
Change it's name to inject
This code
--- Now add a checkbox change the text to "Close After Inject?"Code:If IO.File.Exists(OpenFileDialog1.FileName) Then Dim TargetProcess As Process() = Process.GetProcessesByName(RadTextBox1.Text) If TargetProcess.Length = 0 Then Me.RadLabelElement1.Text = ("Waiting for " + RadTextBox1.Text + ".exe Injection(F12)...") Else Timer1.Stop() Me.RadLabelElement1.Text = "Successfully Injected!" Call Inject() ' If CheckBox1.Checked = True Then 'Me.Close() 'Else ' End If End If Else End If
At this point Hope has you add Radio Buttons to choose between automatic and Manual
That part is up to you, I am not going to touch on this topic,
I have not fully tested everything, However using multi select , you should now be able to add multple Dlls to the list to inject.
Last edited by NextGen1; 02-26-2010 at 10:26 AM.
NextGen1, damn you! I was going to do that, but got to lazy D:. Good job though, its A LOT better. I'm sorry hope, but yours has terrible grammar and spelling.
NextGen1 (02-26-2010)