Advertisement
lol443345

Dll injector code MUST BE DONE IN VS 2017(FIXED)

Jan 19th, 2020
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 7.48 KB | None | 0 0
  1. STEP 1
  2.  
  3. NOTE 1 MAKE IN VISUAL BASIC C# (WINDOWS FORM APP)
  4. NOTE 2 DO THE CODE FIRST BY CLICKING ON THE FORM TWICE AND THEN REMOVE ALL THE CODE THATS THERE
  5.  
  6.  
  7. code:
  8. Public Class Form1
  9.     Private TargetProcessHandle As Integer
  10.     Private pfnStartAddr As Integer
  11.     Private pszLibFileRemote As String
  12.     Private TargetBufferSize As Integer
  13.  
  14.     Public Const PROCESS_VM_READ = &H10
  15.     Public Const TH32CS_SNAPPROCESS = &H2
  16.     Public Const MEM_COMMIT = 4096
  17.     Public Const PAGE_READWRITE = 4
  18.     Public Const PROCESS_CREATE_THREAD = (&H2)
  19.     Public Const PROCESS_VM_OPERATION = (&H8)
  20.     Public Const PROCESS_VM_WRITE = (&H20)
  21.     Dim DLLFileName As String
  22.     Public Declare Function ReadProcessMemory Lib "kernel32" (
  23.     ByVal hProcess As Integer,
  24.     ByVal lpBaseAddress As Integer,
  25.     ByVal lpBuffer As String,
  26.     ByVal nSize As Integer,
  27.     ByRef lpNumberOfBytesWritten As Integer) As Integer
  28.  
  29.     Public Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (
  30.     ByVal lpLibFileName As String) As Integer
  31.  
  32.     Public Declare Function VirtualAllocEx Lib "kernel32" (
  33.     ByVal hProcess As Integer,
  34.     ByVal lpAddress As Integer,
  35.     ByVal dwSize As Integer,
  36.     ByVal flAllocationType As Integer,
  37.     ByVal flProtect As Integer) As Integer
  38.  
  39.     Public Declare Function WriteProcessMemory Lib "kernel32" (
  40.     ByVal hProcess As Integer,
  41.     ByVal lpBaseAddress As Integer,
  42.     ByVal lpBuffer As String,
  43.     ByVal nSize As Integer,
  44.     ByRef lpNumberOfBytesWritten As Integer) As Integer
  45.  
  46.     Public Declare Function GetProcAddress Lib "kernel32" (
  47.     ByVal hModule As Integer, ByVal lpProcName As String) As Integer
  48.  
  49.     Private Declare Function GetModuleHandle Lib "Kernel32" Alias "GetModuleHandleA" (
  50.     ByVal lpModuleName As String) As Integer
  51.  
  52.     Public Declare Function CreateRemoteThread Lib "kernel32" (
  53.     ByVal hProcess As Integer,
  54.     ByVal lpThreadAttributes As Integer,
  55.     ByVal dwStackSize As Integer,
  56.     ByVal lpStartAddress As Integer,
  57.     ByVal lpParameter As Integer,
  58.     ByVal dwCreationFlags As Integer,
  59.     ByRef lpThreadId As Integer) As Integer
  60.  
  61.     Public Declare Function OpenProcess Lib "kernel32" (
  62.     ByVal dwDesiredAccess As Integer,
  63.     ByVal bInheritHandle As Integer,
  64.     ByVal dwProcessId As Integer) As Integer
  65.  
  66.     Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (
  67.     ByVal lpClassName As String,
  68.     ByVal lpWindowName As String) As Integer
  69.  
  70.     Private Declare Function CloseHandle Lib "kernel32" Alias "CloseHandleA" (
  71.     ByVal hObject As Integer) As Integer
  72.  
  73.  
  74.     Dim ExeName As String = IO.Path.GetFileNameWithoutExtension(Application.ExecutablePath)
  75.     Private Sub Inject()
  76.         On Error GoTo 1 ' If error occurs, app will close without any error messages
  77.        Timer1.Stop()
  78.        Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
  79.        TargetProcessHandle = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, False, TargetProcess(0).Id)
  80.        pszLibFileRemote = OpenFileDialog1.FileName
  81.        pfnStartAddr = GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA")
  82.        TargetBufferSize = 1 + Len(pszLibFileRemote)
  83.        Dim Rtn As Integer
  84.        Dim LoadLibParamAdr As Integer
  85.        LoadLibParamAdr = VirtualAllocEx(TargetProcessHandle, 0, TargetBufferSize, MEM_COMMIT, PAGE_READWRITE)
  86.        Rtn = WriteProcessMemory(TargetProcessHandle, LoadLibParamAdr, pszLibFileRemote, TargetBufferSize, 0)
  87.        CreateRemoteThread(TargetProcessHandle, 0, 0, pfnStartAddr, LoadLibParamAdr, 0, 0)
  88.        CloseHandle(TargetProcessHandle)
  89. 1:      Me.Show()
  90.    End Sub
  91.  
  92.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  93.        DLLs.Name = "DLLs"
  94.        Button1.Text = "Browse"
  95.        Label1.Text = "Waiting for Program to Start.."
  96.        Timer1.Interval = 50
  97.        Timer1.Start()
  98.    End Sub
  99.  
  100.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  101.        OpenFileDialog1.Filter = "DLL (*.dll) |*.dll"
  102.        OpenFileDialog1.ShowDialog()
  103.    End Sub
  104.  
  105.    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  106.        For i As Integer = (DLLs.SelectedItems.Count - 1) To 0 Step -1
  107.            DLLs.Items.Remove(DLLs.SelectedItems(i))
  108.        Next
  109.    End Sub
  110.  
  111.    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  112.        DLLs.Items.Clear()
  113.    End Sub
  114.  
  115.    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
  116.        If IO.File.Exists(OpenFileDialog1.FileName) Then
  117.            Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
  118.            If TargetProcess.Length = 0 Then
  119.  
  120.                Me.Label1.Text = ("Waiting for " + TextBox1.Text + ".exe")
  121.            Else
  122.                Timer1.Stop()
  123.                Me.Label1.Text = "Successfully Injected!"
  124.                Call Inject()
  125.                If CheckBox1.Checked = True Then
  126.                    End
  127.                Else
  128.                End If
  129.            End If
  130.        Else
  131.        End If
  132.    End Sub
  133.  
  134.    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  135.        If IO.File.Exists(OpenFileDialog1.FileName) Then
  136.            Dim TargetProcess As Process() = Process.GetProcessesByName(TextBox1.Text)
  137.            If TargetProcess.Length = 0 Then
  138.  
  139.                Me.Label1.Text = ("Waiting for " + TextBox1.Text + ".exe")
  140.            Else
  141.                Timer1.Stop()
  142.                Me.Label1.Text = "Successfully Injected!"
  143.                Call Inject()
  144.                If CheckBox1.Checked = True Then
  145.                    End
  146.                Else
  147.                End If
  148.            End If
  149.        Else
  150.        End If
  151.    End Sub
  152.  
  153.    Private Sub OpenFileDialog1_FileOk(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
  154.        Dim FileName As String
  155.        FileName = OpenFileDialog1.FileName.Substring(OpenFileDialog1.FileName.LastIndexOf("\"))
  156.        Dim DllFileName As String = FileName.Replace("\", "")
  157.        Me.DLLs.Items.Add(DllFileName)
  158.    End Sub
  159.  
  160.    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
  161.        Me.Close()
  162.    End Sub
  163.  
  164.    Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
  165.        Button4.Enabled = True
  166.        Timer1.Enabled = False
  167.    End Sub
  168.  
  169.    Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
  170.        Button4.Enabled = False
  171.        Const V As Boolean = True
  172.        Timer1.Enabled = V
  173.    End Sub
  174.  
  175.  
  176.    Private Sub Button6_Click_1(sender As Object, e As EventArgs) Handles Button6.Click
  177.  
  178.        Me.WindowState = System.Windows.Forms.FormWindowState.Minimized
  179.  
  180.    End Sub
  181. End Class
  182.  
  183.  
  184.  
  185. STEP 2
  186. buttons and all that stuff
  187. 5 Buttons
  188. 2 Radiobuttons
  189. 2 Labels
  190. 1 Listbox
  191. 1 Timers
  192. 1 OpenFileDialog
  193. 1 Checkbox
  194. 1 Textbox
  195. Names
  196. Listbox1 = "DLLs"
  197. TEXT
  198. Button1 = "Browse"
  199. Button2 = "Remove"
  200. Button3 = "Clear List"
  201. Button4 = "Inject"
  202. Button5 = "Quit"
  203. RadioButton1 = "Manual"
  204. RadioButton2 = "Automatic"
  205. Checkbox1 = "Close after Inject"
  206. Textbox1 = ""
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement