0% found this document useful (0 votes)
86 views

Codingza DLL Inject

This document contains code for a .NET application that can inject DLL files into other processes running on the system. It uses Windows API functions like OpenProcess, WriteProcessMemory, and CreateRemoteThread to load and run the specified DLL within the target process. The user can select the target process, DLL files to inject, and choose to inject automatically or manually via a timer or button click. Key functions and declarations for process and memory manipulation are included.

Uploaded by

Firman Akbar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
86 views

Codingza DLL Inject

This document contains code for a .NET application that can inject DLL files into other processes running on the system. It uses Windows API functions like OpenProcess, WriteProcessMemory, and CreateRemoteThread to load and run the specified DLL within the target process. The user can select the target process, DLL files to inject, and choose to inject automatically or manually via a timer or button click. Key functions and declarations for process and memory manipulation are included.

Uploaded by

Firman Akbar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

--------------------------------------------------

CODINGZA DLL INJECT


------------------------------------------------
'''''Imports
Imports System.Threading

''''Class
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)
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 IntPtr) 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)
Dim SCurrentDll As String
Dim objMutex As Mutex

Private Sub Inject()


On Error GoTo 1
InjectTimer.Stop()
'Inject Dll
Dim TargetProcess As Process() =
Process.GetProcessesByName(ProcessTextBox.Text)
Dim lpThreadId As IntPtr
TargetProcessHandle = OpenProcess(&H1F0FFF, 0, TargetProcess(0).Id)
Dim FileDll = SCurrentDll
pszLibFileRemote = (FileDll)
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, lpThreadId)
1: Me.Show()
End Sub

''''''''FormLoad
objMutex = New Mutex(False, "ST70R")
If objMutex.WaitOne(0, False) = False Then
objMutex.Close()
objMutex = Nothing
MessageBox.Show("Error !!")
End
End If

'''''''InjectTimer
If IO.File.Exists(OpenFileDialog1.FileName) Then
Dim TargetProcess As Process() =
Process.GetProcessesByName(ProcessTextBox.Text)
If TargetProcess.Length = 0 Then
StatusLabel.ForeColor = Color.Red
StatusLabel.Text = ("Waiting for " + ProcessTextBox.Text + ".exe")
Else
InjectTimer.Stop()
DelayTimer.Start()
End If
Else
End If

''''''DelayTimer
If DelayNumeric.Value = 0 Then
DelayTimer.Enabled = False
StatusLabel.ForeColor = Color.Lime
StatusLabel.Text = "Successfully Injected!"
For i = 0 To (DllListBox.Items.Count + -1)
SCurrentDll = DllListBox.Items(i)
Call Inject()
If CloseCheckBox.Checked = True Then

End
Else
End If
Next i
Else
DelayNumeric.Value = DelayNumeric.Value - 1
End If

'''''''InjectButton
If IO.File.Exists(OpenFileDialog1.FileName) Then
Dim TargetProcess As Process() =
Process.GetProcessesByName(ProcessTextBox.Text)
If TargetProcess.Length = 0 Then
StatusLabel.ForeColor = Color.Red
StatusLabel.Text = ("Waiting for " + ProcessTextBox.Text + ".exe")
Else
InjectTimer.Stop()
DelayTimer.Start()
End If
Else
End If

''''''BrowseButton
OpenFileDialog1.Filter = "DLL (*.dll) |*.dll"
OpenFileDialog1.ShowDialog()

''''''RemoveButton
For i As Integer = (DllListBox.SelectedItems.Count - 1) To 0 Step -1
DllListBox.Items.Remove(DllListBox.SelectedItems(i))
Next

''''''ClearAllButton
DllListBox.Items.Clear()

''''''OpenFileDialog
Dim FileName As String
FileName =
OpenFileDialog1.FileName.Substring(OpenFileDialog1.FileName.LastIndexOf("\"))
Dim DllFileName As String = FileName.Replace("\", "")
DllListBox.Items.Add(DllFileName)

''''''AutoRadioButton
InjectButton.Enabled = False
InjectTimer.Enabled = True

''''''ManualRadioButton
InjectButton.Enabled = True
InjectTimer.Enabled = False

You might also like