Injector

Posts 1–13 of 13 · Page 1 of 1
Injector
Hello! I have made an injector but it doesn't seem to be injecting, but clearly stated that it was injected.
Any solution on how to solve it?
Here, we are all wizards, and we all know what code you just leeched so we can see whats wrong and reply right?
Umm, the code is on youtube and his comment section are dead.
Quote Originally Posted by xPanickenz View Post
Umm, the code is on youtube and his comment section are dead.
That means leeched If you can't fix others errors or code your own injector, please don't even attempt.
Wow, it's doesn't even have any error and I wonder this section is for "professional"? Oh please, I just started with my project and asking for help regarding this issue and this is what I get?
Quote Originally Posted by xPanickenz View Post
Wow, it's doesn't even have any error and I wonder this section is for "professional"? Oh please, I just started with my project and asking for help regarding this issue and this is what I get?
Hello! I have made an injector but it doesn't seem to be injecting, but clearly stated that it was injected.
That's called an error
Quote Originally Posted by xPanickenz View Post
Wow, it's doesn't even have any error and I wonder this section is for "professional"? Oh please, I just started with my project and asking for help regarding this issue and this is what I get?
Yes because you are so professional stealing (leeching) code that you can't seem to understand.
@xPanickenz Just post the code so we can see what's wrong.

PS: Ofc he leeched it.. don't need to crucify him by that.. as long as he learn something from the code, it is ok to me
Here's the 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.Ex ecutablePath)

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 Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
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 ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
MessageBox.Show("Injector will now close.", "Goodbye!")
Me.Close()
End Sub

Private Sub InfoToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles InfoToolStripMenuItem.Click
MessageBox.Show("This Injector is created by Immersity/xPanickenz 11/30/12", "Information")

End Sub

Private Sub ProcessHelpToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProcessHelpToolStripMenuItem.Click
MessageBox.Show("Type in your process in order to inject.", "Process Help")
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
What you're doing is basically asking to crash your computer, lots of time. -- you're messing around with windows internal stuff that (maybe?) you don't know much about. You're more likely to crash your computer or overwrite something important, than create a hack. First learn to ReadProcessmemory and WriteProcessMemory before you try something like this, which involves them both + a lot of windows memory management stuff.

Code:
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)
^^ unless you know (basically) what that's doing, you won't get too much farther even if we post a solution for you.
@anyoneelse who might know: is the malloc() supposed to be executable (ie. execute_read or execute_r_w) ?
Quote Originally Posted by xPanickenz View Post
Hello! I have made an injector but it doesn't seem to be injecting, but clearly stated that it was injected.
Any solution on how to solve it?
try run as admin== sometimes people forgot this
Set a breakpoing on the line that says 'success' (or in this case, towards the end of the Inject routine) and check the local variables above it -- see what memory region was written to, verify the data was written with a memory viewer (CheatEngine?) etc.

Code:
Me.Label1.Text = "Successfully Injected!"
Call Inject()
-- doesn't make sense

Code:
If Inject() = True Then
'success
Me.Label1.Text = "Injection Success"
Else
'fail
Me.Label1.Text= "Injection Fail"
End If
and you need to do error checking to make sure the API functions actually worked! maybe VirtualAlloc is failing. Or maybe WriteBytes. or maybe ____.


"..but clearly stated that it was injected. "
dude, you made it assign a label's text saying success..you didn't actually base that off ANY function calls/results. "clearly" is "obviously" the wrong word.


"...I HAVE MADE an injector but it doesn't seem to be injecting, but clearly stated that it was injected."
"I JUST STARTED with my project"

'have made' suggests your code is nearly complete, not just started. If you copy pasted the code, still can't get it to work/really don't know how/why it should works, don't play yourself up by saying 'I have made'. ?
Posts 1–13 of 13 · Page 1 of 1

Post a Reply

Similar Threads

Tags for this Thread

None

Need help?