Results 1 to 7 of 7
  1. #1
    Megasanderown's Avatar
    Join Date
    Nov 2011
    Gender
    male
    Location
    Veenendaal
    Posts
    123
    Reputation
    10
    Thanks
    104
    My Mood
    Relaxed

    Simple Injector SourceCode + Little Tutorial!

    Hey Guys!
    began this week i was googling for some sourcecode's and found an Simple DLL Injector code.
    So i was thinking, why doesnt upload on mpgh?:P
    so thats the reason im uploading this!
    i have made an injector for myself with this code and it works fine!
    Hope You Like It, And Yes This Is Very Much Used And No I Doesnt Own It!
    DOESNT USE THIS IF YOU DONT UNDERSTAND! JUST ASK DOWN HERE AND DONT GONA TRY SOME THIS BY YOURSELF!


    Tutorial;

    Make A New Project:

    1)Make the Following Things:

    5 Buttons
    2 Radiobuttons
    2 Labels
    1 Listboxes
    1 Timers
    1 OpenFileDialog
    1 Checkbox
    1 Textbox


    2).Rename the Following Things:

    Changing This Name :
    Listbox1 = "DLLs"

    Changing This Text :
    Button1 = "Browse"
    Button2 = "Remove"
    Button3 = "Clear List"
    Button4 = "Inject"
    Button5 = "Quit"
    RadioButton1 = "Manual"
    RadioButton2 = "Automatic"
    Checkbox1 = "Close after Inject"
    Textbox1 = ""

    and here is the sourcecode:

    Code:
    Public Class Form1
    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
    
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    DLLs.Name = "DLLs"
    Button1.Text = "Browse"
    Label1.Text = "Waiting for Program to Start.."
    Timer1.Interval = 50
    Timer1.Start()
    End Sub
    
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    OpenFileDialog1.Filter = "DLL (*.dll) |*.dll"
    OpenFileDialog1.ShowDialog()
    End Sub
    
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    For i As Integer = (DLLs.SelectedItems.Count - 1) To 0 Step -1
    DLLs.Items.Remove(DLLs.SelectedItems(i))
    Next
    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
    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
    End
    Else
    End If
    End If
    Else
    End If 
    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
    End
    Else
    End If
    End If
    Else
    End If
    End Sub
    
    Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
    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 Button5.Click
    Me.Close()
    End Sub
    
    Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
    Button4.Enabled = True
    Timer1.Enabled = False
    End Sub
    
    Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
    Button4.Enabled = False
    Timer1.Enabled = True
    End Sub
    End Class
    Last edited by Megasanderown; 02-20-2014 at 07:40 AM. Reason: wrong colors..
    give some hugs this days!ヽ( ≧ω≦)ノ

  2. The Following User Says Thank You to Megasanderown For This Useful Post:

    Ticherhaz (02-22-2014)

  3. #2
    Ticherhaz's Avatar
    Join Date
    Aug 2013
    Gender
    male
    Location
    Malaysia
    Posts
    6,564
    Reputation
    1376
    Thanks
    1,297
    My Mood
    Inspired
    nice one!
    Anything can PM me. I'm from Malaysia.

  4. #3
    Megasanderown's Avatar
    Join Date
    Nov 2011
    Gender
    male
    Location
    Veenendaal
    Posts
    123
    Reputation
    10
    Thanks
    104
    My Mood
    Relaxed
    Quote Originally Posted by Zuhrain View Post
    nice one!
    Thank you! Are you gona use it?
    give some hugs this days!ヽ( ≧ω≦)ノ

  5. #4
    Ticherhaz's Avatar
    Join Date
    Aug 2013
    Gender
    male
    Location
    Malaysia
    Posts
    6,564
    Reputation
    1376
    Thanks
    1,297
    My Mood
    Inspired
    Quote Originally Posted by Megasanderown View Post


    Thank you! Are you gona use it?
    I will take it as a note
    Anything can PM me. I'm from Malaysia.

  6. #5
    Megasanderown's Avatar
    Join Date
    Nov 2011
    Gender
    male
    Location
    Veenendaal
    Posts
    123
    Reputation
    10
    Thanks
    104
    My Mood
    Relaxed
    Quote Originally Posted by Zuhrain View Post

    I will take it as a note
    okay!


    im gona make on injector from this code, i will upload it here!
    Last edited by Lovroman; 02-23-2014 at 12:05 PM.
    give some hugs this days!ヽ( ≧ω≦)ノ

  7. The Following User Says Thank You to Megasanderown For This Useful Post:

    Ticherhaz (02-23-2014)

  8. #6
    Ticherhaz's Avatar
    Join Date
    Aug 2013
    Gender
    male
    Location
    Malaysia
    Posts
    6,564
    Reputation
    1376
    Thanks
    1,297
    My Mood
    Inspired
    Quote Originally Posted by Megasanderown View Post


    okay!


    im gona make on injector from this code, i will upload it here!
    yes! you're so generous ..
    Anything can PM me. I'm from Malaysia.

  9. #7
    Megasanderown's Avatar
    Join Date
    Nov 2011
    Gender
    male
    Location
    Veenendaal
    Posts
    123
    Reputation
    10
    Thanks
    104
    My Mood
    Relaxed
    Quote Originally Posted by Zuhrain View Post

    yes! you're so generous ..
    maybe i will wait!XD because my code crashed when i debug it.. but i know the problem!
    give some hugs this days!ヽ( ≧ω≦)ノ

  10. The Following User Says Thank You to Megasanderown For This Useful Post:

    Ticherhaz (02-24-2014)

Similar Threads

  1. How to create one simple injector with vb 08?
    By Mlkellinas in forum CrossFire Discussions
    Replies: 7
    Last Post: 03-24-2010, 01:27 PM
  2. Simple Injector
    By MugNuf in forum Programming Tutorial Requests
    Replies: 4
    Last Post: 02-15-2010, 12:30 PM
  3. help with simple injector
    By HaxFrank in forum Combat Arms Help
    Replies: 9
    Last Post: 01-21-2010, 08:59 AM
  4. So many injectors...so little time
    By satindemon4u in forum Combat Arms Discussions
    Replies: 7
    Last Post: 10-03-2009, 08:53 AM
  5. Little tutorial,maybe helps.
    By russik1 in forum Call of Duty 4 - Modern Warfare (MW) Hacks
    Replies: 1
    Last Post: 05-08-2008, 11:51 AM