Quote Originally Posted by FarahAisyah View Post
*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 ..
can u make vedio ??