[Tuto]Creer un injecteur!

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Ping59

Membre actif
Feb 26, 2012
120
1
924
Dans une maison :D
Bonjour/Bonsoir,j'ai remarquer qu'il n'y avait pas de tuto pour créer un injecteur alors voila apres pas mal de demande par MP je mes mon code source.Alors tous d'abors il vous faut:

1 Timer
2 Label
1 Openfiledialog
1 Button
1 TextBox


Dans le button vous mettez ce code:

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("\", "")

Dans le timer vous mettez ce code:

Code:
If IO.File.Exists(OpenFileDialog1.FileName) Then
            Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
            If TargetProcess.Length = 0 Then
                Me.Label2.Text = ("En Attente de " + TextBox1.Text + "")

            Else
                Timer1.Stop()
                Me.Label2.Text = "DLL Injecter!"
                Call Inject()
            End If
        Else

        End If

Dans la form vous mettez ce code:

Code:
Button1.Text = "Chercher une dll..."
        Label2.Text = "En attente d'une dll"
        Timer1.Interval = 50
        Timer1.Start()

Dans un espace libre (pas dans un bouton ou autre) vous mettez ceci:

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)

Et pour finir un sub:

Code:
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

Pour ce qui ne veulent pas s’embêter a le créer je mais directement la source: Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!
Bien sur avant que les gens cries virus scan! je le mes : Ce lien n'est pas visible, veuillez vous connecter pour l'afficher. Je m'inscris!

Un merci ne tue pas :)
 
  • Like
Reactions: Max2102

Cyrion

._.
V
Ancien staff
Jul 8, 2010
2,524
2
944
www.bufferoverflow.fr
Tu sais que .. Ce n'est pas vraiment un tutoriel ça.

C'est plutôt un truc de copier/coller.Au lieu de dire , Mettez ceci là et cela là , essaie d'expliquer le code , afin que ceux qui veulent apprendre et non , simplement copier/coller pour avoir un injecteur.;)
 

Evaelis

La Voix de la Sagesse
V
Ancien staff
Apr 28, 2010
22,949
468
1,699
Valhalla
Ping une simple question, peu importe ta réponse, as tu au moins compris ce code ?
 

puma1346

Membre actif
Jan 14, 2012
347
3
924
24
France
dommage je voulais APPRENDRE et non copié coller, j'adore ce forum et pourtant je dois aller sur un autre, dommage :-/
 
Aug 30, 2013
884
0
922
Moi j'ai suivis un tuto sur le youtube :) Le code revient au même. Merci du partage (et évitons de le up plus que sa)
 

Xonery

Membre
May 15, 2020
15
0
2
24
Discord
Xonery#1735
Pas franchement un tuto, les gens vont juste copier et claim le code comme si c'etait le leur dommage ! (et potentiellement rsl sous differents noms tient)