Jump to content


Check out our Community Blogs

Register and join over 40,000 other developers!


Recent Status Updates

View All Updates

Photo
- - - - -

How To Make DLL Injector VB 2010

timer vb 2010

  • Please log in to reply
10 replies to this topic

#1 Zero.Wing

Zero.Wing

    CC Lurker

  • Just Joined
  • Pip
  • 1 posts

Posted 15 November 2010 - 05:24 PM

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.

  • 1

#2 VisualCode

VisualCode

    CC Newcomer

  • Just Joined
  • PipPip
  • 13 posts

Posted 30 December 2010 - 09:08 AM

Has anybody tried it yet? =) I will try this tomorrow when i get up.
  • 0

#3 Buffer_overflow

Buffer_overflow

    CC Newcomer

  • Just Joined
  • PipPip
  • 10 posts

Posted 30 December 2010 - 02:58 PM

Looks cool i will try....
  • 0

#4 VisualCode

VisualCode

    CC Newcomer

  • Just Joined
  • PipPip
  • 13 posts

Posted 30 December 2010 - 05:20 PM

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?
  • 0

#5 Alexander

Alexander

    YOL9

  • Moderator
  • 3963 posts
  • Location:Vancouver, Eh! Cleverness: 200
  • Programming Language:C, C++, PHP, Assembly

Posted 31 December 2010 - 06:09 PM

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

All new problems require investigation, and so if errors are problems, try to learn as much as you can and report back.


#6 VisualCode

VisualCode

    CC Newcomer

  • Just Joined
  • PipPip
  • 13 posts

Posted 31 December 2010 - 09:15 PM

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.
  • 0

#7 VisualCode

VisualCode

    CC Newcomer

  • Just Joined
  • PipPip
  • 13 posts

Posted 06 January 2011 - 02:31 AM

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: [email=""]crankitup_twana@hotmail.com[/email]


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

#8 Jrb

Jrb

    CC Regular

  • Member
  • PipPipPip
  • 48 posts

Posted 30 January 2011 - 07:33 PM

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 :)
  • 0

#9 thys25

thys25

    CC Lurker

  • Just Joined
  • Pip
  • 1 posts

Posted 06 February 2011 - 06:49 AM

i don't know how you make a manual injector.
can you please make an video or something
  • 0

#10 RapHaeL444

RapHaeL444

    CC Lurker

  • Just Joined
  • Pip
  • 1 posts

Posted 24 September 2012 - 04:14 AM

Amazing :D
the editor dont show any error but, when i try to inject the label say than the dll is injected, nothing happen :S
can i have some help?

have a good day and sorry for my bad english
  • 0

#11 VNFox

VNFox

    CC Devotee

  • Senior Member
  • PipPipPipPipPipPip
  • 648 posts
  • Programming Language:C#, PHP
  • Learning:Assembly

Posted 26 September 2012 - 10:36 AM

looks interesting +1 ... a zip of source code would be nice.
  • 0

www.pickmike.com
I don't just develop software. I find solutions to your business needs.






Also tagged with one or more of these keywords: timer, vb 2010

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download