2 buttons 5 labels 2 textboxes 2 timers paste this: _ Partial Class Form1 Inherits System.Windows.Forms.Form 'Form overrides dispose to clean up the component list. _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then components.Dispose() End If Finally MyBase.Dispose(disposing) End Try End Sub 'Required by the Windows Form Designer Private components As System.ComponentModel.IContainer 'NOTE: The following procedure is required by the Windows Form Designer 'It can be modified using the Windows Form Designer. 'Do not modify it using the code editor. _ Private Sub InitializeComponent() Me.components = New System.ComponentModel.Container() Me.Button1 = New System.Windows.Forms.Button() Me.Timer1 = New System.Windows.Forms.Timer(Me.components) Me.TextBox1 = New System.Windows.Forms.TextBox() Me.TextBox2 = New System.Windows.Forms.TextBox() Me.OpenFileDialog1 = New System.Windows.Forms.OpenFileDialog() Me.Label1 = New System.Windows.Forms.Label() Me.Label2 = New System.Windows.Forms.Label() Me.Label3 = New System.Windows.Forms.Label() Me.Label4 = New System.Windows.Forms.Label() Me.Label = New System.Windows.Forms.Label() Me.Button2 = New System.Windows.Forms.Button() Me.Timer2 = New System.Windows.Forms.Timer(Me.components) Me.SuspendLayout() ' 'Button1 ' Me.Button1.Font = New System.Drawing.Font("Microsoft Sans Serif", 11.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button1.Location = New System.Drawing.Point(0, 149) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(151, 33) Me.Button1.TabIndex = 0 Me.Button1.Text = "BROWSE..." Me.Button1.UseVisualStyleBackColor = True ' 'Timer1 ' ' 'TextBox1 ' Me.TextBox1.BackColor = System.Drawing.Color.Black Me.TextBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.TextBox1.ForeColor = System.Drawing.Color.Black Me.TextBox1.Location = New System.Drawing.Point(221, 188) Me.TextBox1.Name = "TextBox1" Me.TextBox1.Size = New System.Drawing.Size(205, 22) Me.TextBox1.TabIndex = 1 ' 'TextBox2 ' Me.TextBox2.BackColor = System.Drawing.Color.Black Me.TextBox2.BorderStyle = System.Windows.Forms.BorderStyle.None Me.TextBox2.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.TextBox2.ForeColor = System.Drawing.Color.Black Me.TextBox2.Location = New System.Drawing.Point(221, 162) Me.TextBox2.Name = "TextBox2" Me.TextBox2.Size = New System.Drawing.Size(205, 15) Me.TextBox2.TabIndex = 2 ' 'OpenFileDialog1 ' Me.OpenFileDialog1.FileName = "OpenFileDialog1" ' 'Label1 ' Me.Label1.AutoSize = True Me.Label1.Location = New System.Drawing.Point(247, 9) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(39, 13) Me.Label1.TabIndex = 3 Me.Label1.Text = "Label1" ' 'Label2 ' Me.Label2.AutoSize = True Me.Label2.Location = New System.Drawing.Point(157, 240) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(50, 13) Me.Label2.TabIndex = 4 Me.Label2.Text = "STATUS" ' 'Label3 ' Me.Label3.AutoSize = True Me.Label3.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label3.Location = New System.Drawing.Point(142, 191) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(73, 16) Me.Label3.TabIndex = 5 Me.Label3.Text = "PROCESS" ' 'Label4 ' Me.Label4.AutoSize = True Me.Label4.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label4.Location = New System.Drawing.Point(183, 166) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(32, 16) Me.Label4.TabIndex = 6 Me.Label4.Text = "DLL" ' 'Label ' Me.Label.AutoSize = True Me.Label.Font = New System.Drawing.Font("Segoe Script", 36.0!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.FontStyle), System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Label.ForeColor = System.Drawing.Color.Black Me.Label.Location = New System.Drawing.Point(12, 28) Me.Label.Name = "Label" Me.Label.Size = New System.Drawing.Size(429, 80) Me.Label.TabIndex = 7 Me.Label.Text = "DLL INJECTOR" ' 'Button2 ' Me.Button2.Font = New System.Drawing.Font("Segoe Print", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.Button2.Location = New System.Drawing.Point(26, 233) Me.Button2.Name = "Button2" Me.Button2.Size = New System.Drawing.Size(87, 27) Me.Button2.TabIndex = 8 Me.Button2.Text = "EXIT" Me.Button2.UseVisualStyleBackColor = True ' 'Timer2 ' Me.Timer2.Enabled = True Me.Timer2.Interval = 60 ' 'Form1 ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.BackColor = System.Drawing.Color.Black Me.ClientSize = New System.Drawing.Size(439, 262) Me.Controls.Add(Me.Button2) Me.Controls.Add(Me.Label) Me.Controls.Add(Me.Label4) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.Label1) Me.Controls.Add(Me.TextBox2) Me.Controls.Add(Me.TextBox1) Me.Controls.Add(Me.Button1) Me.ForeColor = System.Drawing.Color.Red Me.Name = "Form1" Me.Text = "DLL injector" Me.ResumeLayout(False) Me.PerformLayout() End Sub Friend WithEvents Button1 As System.Windows.Forms.Button Friend WithEvents Timer1 As System.Windows.Forms.Timer Friend WithEvents TextBox1 As System.Windows.Forms.TextBox Friend WithEvents TextBox2 As System.Windows.Forms.TextBox Friend WithEvents OpenFileDialog1 As System.Windows.Forms.OpenFileDialog Friend WithEvents Label1 As System.Windows.Forms.Label Friend WithEvents Label2 As System.Windows.Forms.Label Friend WithEvents Label3 As System.Windows.Forms.Label Friend WithEvents Label4 As System.Windows.Forms.Label Friend WithEvents Label As System.Windows.Forms.Label Friend WithEvents Button2 As System.Windows.Forms.Button Friend WithEvents Timer2 As System.Windows.Forms.Timer End Class 2ND 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 My.Computer.Audio.Play(My.Resources.CLOCKS, AudioPlayMode.BackgroundLoop) Button1.Text = "Browse..." Label1.Text = "Waiting for users input..." Timer1.Interval = 50 Timer1.Start() 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() End If Else End If 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() Dim FileName As String FileName = OpenFileDialog1.FileName.Substring(OpenFileDialog1.FileName.LastIndexOf("\")) Dim DllFileName As String = FileName.Replace("\", "") Me.TextBox2.Text = (DllFileName) End Sub Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick If Label.ForeColor = Color.Black Then Label.ForeColor = Color.Red ElseIf Label.ForeColor = Color.Red Then Label.ForeColor = Color.Purple ElseIf Label.ForeColor = Color.Purple Then Label.ForeColor = Color.Green ElseIf Label.ForeColor = Color.Green Then Label.ForeColor = Color.Blue ElseIf Label.ForeColor = Color.Blue Then Label.ForeColor = Color.Black End If End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Me.Close() End Sub End Class