Tutorial how to make a injector!

01/08/2012 06:10 XxXchowXxX#1
Watcha need:
Microsoft Visual Basic 2008

Steps:
Make your own windows form application project

Add:
1 Label
1 Button
1 Timer
1 Open File Dialog
2 Boxes

1.Double click your form then type

CODE:
button1.text = "browse"
label1.text = "Waiting for users input"
timer1.interval = 50
timer1.start()

2.Double Click 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

Please note that this *The line " Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)" means: the process where you want the dll to be injected.

3. Now double click 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

Please note *The line "1: Me.Show" means: if the dll injected successfully then it remains open (running) but already inject.

4: Then double click button 1 and type
CODE:
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)

Questions.
Question
What is textbox 1 for?

Answer

Answer=
it is where you will put the process name, should be just (ex."soldierfont") - without quotation mark and no".exe".

Question
Is this automatically injected or not?

Answer
Yup, If you want to make it manually. Make a radiobutton1 and put this code.

CODE:
Timer1.stop()

And make another button then type inside
CODE:
Timer1.Start()

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
01/08/2012 12:58 MoepMeep#2
I lol'd.
01/26/2012 00:13 sup4rw#3
where is the Public Form Class1 ???
01/28/2012 16:57 SkullTreats#4
This is a waste of time. Even if you create one, No one will support your injector ..

Unless you are a well known hack creator or something superior on their eyes. :D
01/29/2012 02:06 runerob#5
actualy this is good. aslong an you put effects to your injector and make sure its simple to use, people may use it.
01/30/2012 02:23 irrenhaus#6
How to Copy and Paste a sourcecode into voids to create a Injector - is a better Title.
In a Tutorial you have to explain the functions ( what they does , how they work etc.. ).
This is only a SourceCode and a little Text on how to paste it into VB...
04/24/2012 11:06 hszaldy#7
its good man... ill test it.. it has only 1 error..

you copy this code only thats why you dont know the eror..


YOUR CODE
Dim ExeName As String = IO.Path.GetFileNameWithoutExtension(Application.Ex ecutablePath)


you forgot to delete the space between ex and ecutablepath

thats why you have an error

but still this is a leeech you must give proper creadits where you get it..
04/26/2012 00:23 Brutalon#8
Quote:
Tutorial how to make a injector!
Where is here a Tutorial? Its 99,9% c&p.

And even if you call this Tutorial work with spoilers,colors & USE THE [C O D E] Function!
05/01/2012 20:18 Buraka#9
I didnt learnd anything i just c&p x'D
05/09/2012 19:23 .Dash#10
Wow! That isnt a tutorial... only Copy and paste 0.o
05/28/2012 05:31 PH.Crowd#11
please close this thread C&P !!