Jump to content

How To Make DLL Injector VB 2010

- - - - -

This topic has been archived. This means that you cannot reply to this topic.
9 replies to this topic

#1
Zero.Wing

Zero.Wing

    Newbie

  • Members
  • Pip
  • 1 posts
Hi Guys, This is my VB 2010 Tutorial is About for DLL Injector

Credits: DXTGaming...

*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


Posted Image

4. Double click the form then type:
Code:
button1.text = "browse"

label1.text = "Waiting for users input"

timer1.interval = 50

timer1.start()

Posted Image
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
Posted Image
*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.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
Posted Image
*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. may nawawala sa code pag sinusulat ee. kaya linagyan ko na ng picture. kulang ung code

COpy The Code Here:
Posted Image

-=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



~You Can Design Your Injector Too Like This

Im the Coder in PinoyNyakers but now Coder in PinoyHideout
I made this DLL Injector



Posted Image
BTW Congrats Manny Pacquiao!!

Edited by Zero.Wing, 17 November 2010 - 05:23 AM.


#2
VisualCode

VisualCode

    Newbie

  • Members
  • PipPip
  • 13 posts
Has anybody tried it yet? =) I will try this tomorrow when i get up.

#3
Buffer_overflow

Buffer_overflow

    Newbie

  • Members
  • PipPip
  • 10 posts
Looks cool i will try....

#4
VisualCode

VisualCode

    Newbie

  • Members
  • PipPip
  • 13 posts
At Step 5 I get an error at

" 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 "

The 2nd last line, " Call Inject(). The error is Name 'Inject' is not declared. How do I fix this?

#5
Alexander

Alexander

    It's Science!

  • Moderators
  • 4,124 posts
Hi VisualCode, You will need to define the function Inject before it can be called, it appears the function is listed in the tutorial.
Be sure to read the updated FAQ! || Health is achieved through the same 10,000 steps.
If a suggested code/method fails, informing us is less important than telling us why or what errors occurred.

#6
VisualCode

VisualCode

    Newbie

  • Members
  • PipPip
  • 13 posts

Alexander said:

Hi VisualCode, You will need to define the function Inject before it can be called, it appears the function is listed in the tutorial.

Oh ok :D Thank you. I understand now.

#7
twanajester

twanajester

    Newbie

  • Members
  • Pip
  • 1 posts
Can someone help me i am confused, i am making a multitool, calculator Clock and autotalker, but i need an injector too. i try this but i dont know how to define "Inject".
just please help me, u can add my msn: crankitup_twana@hotmail.com

Posted Image

#8
VisualCode

VisualCode

    Newbie

  • Members
  • PipPip
  • 13 posts

twanajester said:

Can someone help me i am confused, i am making a multitool, calculator Clock and autotalker, but i need an injector too. i try this but i dont know how to define "Inject".
just please help me, u can add my msn: crankitup_twana@hotmail.com

Posted Image

Uhm has anybody told you how to do that? I am too finding out.

#9
Jrb

Jrb

    Learning Programmer

  • Members
  • PipPipPip
  • 49 posts
Although it's rare to inject a dll into a game anymore (easily bannable, except for single player executables), these are still useful for random projects. Thanks :)

#10
thys25

thys25

    Newbie

  • Members
  • Pip
  • 1 posts
i don't know how you make a manual injector.
can you please make an video or something