THIS HAS BEEN WROTE BY NEXTGEN1 who revised my edition
but many people hasnt been able to access this so i am doing what he did but in a new post
Original Credits to (Immortal- , Ugleh, nextgen1, d3y3q3, and hope)
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.
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)
When I copied the first code, between form1 and End, I got like 50 errors.. Do you think you can do more detailed? Like, first create a windows application, then first of all doubleclick the background and copy this in, then drag out one button and type this..
I Originally Ammended the code but it was rewritten, the errors you get are because I was using Rad Controls not standard windows components simply change the names
Radlabelelement1.text should be label1.text etc etc
This tutorial is AMAZING!!!! but i have a slight problem. I copied and Pasted all the codes that you told me to, i even got rid of those "rad" things or w.e so now everything is fine. Im jus having 1 more problem.
in parts of your code your using a variable called "Dlls" which it cannot find.
Any idea how to make this problem go away?Originally Posted by NextGen1
Its the name of the listbox. So switch Dlls to listbox1.
"I don't believe in an afterlife, so I don't have to spend my whole life fearing hell, or fearing heaven even more. For whatever the tortures of hell, I think the boredom of heaven would be even worse." - Isaac Asimov
NextGen1 (06-16-2010)
I get an error at
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(TextBox1.Text)
If TargetProcess.Length = 0 Then
Me.Label1.Text = ("Waiting for " + TextBox1.Text + ".exe Injection(F12)...")
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 If
End Function
Function 'GetAsyncKeyState' doesn't return a value on all code paths. Are you missing a 'Return' statement?
Nvm got it to work
Hey guys i wanted to share with you what my injector looks like might post it up
Last edited by kaziboy; 06-20-2010 at 06:34 AM.
Sorry for secound post but wanduring if anyone could help me to make it work also on windows 7 64bits (x64)
Thanks for this, but i am still getting errors.. around 10.. D:
Okay i am down to about 6...
help pl0xz.. D:
[IMG]https://i587.photobucke*****m/albums/ss314/kknight96/asdasdasdasdsadasdasd.jpg[/IMG]
This is my complete code ATM
Code:Public Class Form1 Private Sub Button1.Text = "Browse" Label1.Text = "Waiting for Process Start..." Timer1.Interval = 50 Timer1.Start() Handles MyBase.Load 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 End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick 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 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click, Button4.Click For i As Integer = (Dlls.SelectedItems.Count - 1) To 0 Step -1 Dlls.Items.Remove(Dlls.SelectedItems(i)) Next End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click TextBox1.Clear() End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dlls.Items.Clear() End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click, Button1.Click 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) End Sub Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Inject.Click 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 Injection(F12)...") 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 Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged End Sub Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged End Sub Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged (add the name of Inject button i.e button 3).Enabled = True Timer1.Enabled = False End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.CheckedChanged Button6.Enabled = False Timer1.Enabled = True End Sub End Class 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.Label1.Text = ("Waiting for " + RadTextBox1.Text + ".exe Injection(F12)...") Else Timer1.Stop() Me.Label.Text = "Successfully Injected!" Call Inject() ' If CheckBox1.Checked = True Then 'Me.Close() 'Else ' End If End If Else End If End If End Function
Last edited by kknight25; 07-13-2010 at 09:52 PM. Reason: Problems
i dont understand m8. i have visual basics 2010. it just is kinda vague instructions
EDIT: im at the part where i have to Add a Timer.. . where the f*** do i do this
Last edited by habsfan8; 07-21-2010 at 05:42 PM.
Respect List
God601
Obama
topblast
caflames
-ExileD-
NextGen1 (08-02-2010)