Creditz:
cronors... (warhax)
Hacktec fuer das umsetzten ^^
Hey Com ja es gibt bestimmt schon son tut vll auch als vid nur meine methode sollte auch jeder verstehen das es eig nur um C&p geht das sollte jeder könn ^^
So öffnet Visual Basic und macht ein neues Projekt
und natuerlich ein timer einbauen
So nun klick einfach doppel klick auf eure form und dann löscht alles wa das steht und ersetzt es durch den unten code... auf deine form musst du noch 2 labels drauf packen da wird dann der text erscheinen
und ersetzt ihn durch den code von hier unten dann speichern und fertig ist der injektor ^^
Quote:
Option Strict On
Option Explicit On
Imports System.Runtime.InteropServices
Public Class Form1
Const MEM_COMMIT As Integer = &H1000
Const PAGE_READWRITE As Integer = &H4
Const PROCESS_CREATE_THREAD As Integer = &H2
Const PROCESS_VM_OPERATION As Integer = &H8
Const PROCESS_VM_READ As Integer = &H10
Const PROCESS_VM_WRITE As Integer = &H20
<DllImport("kernel32.dll", SetLastError:=True, CallingConvention:=CallingConvention.Winapi)> _
Public Shared Function OpenProcess(ByVal dwDesiredAccess As UInteger, <MarshalAs(UnmanagedType.Bool)> _
ByVal bInheritHandle As Boolean, ByVal dwProcessId As Integer) As System.IntPtr
End Function
<DllImport("kernel32.dll", SetLastError:=True, CallingConvention:=CallingConvention.Winapi)> _
Public Shared Function WriteProcessMemory(ByVal hProcess As System.IntPtr, ByVal lpBaseAddress As System.IntPtr, _
ByVal lpBuffer As String, ByVal nSize As Int32, <Out()> ByRef lpNumberOfBytesWritten As Int32) As _
<MarshalAs(UnmanagedType.Bool)> Boolean
End Function
<DllImport("kernel32.dll", SetLastError:=True, CallingConvention:=CallingConvention.Winapi)> _
Public Shared Function VirtualAllocEx(ByVal hProcess As IntPtr, ByVal lpAddress As IntPtr, _
ByVal dwSize As Integer, ByVal flAllocationType As UInteger, _
ByVal flProtect As UInteger) As IntPtr
End Function
<DllImport("kernel32.dll", SetLastError:=True, CallingConvention:=CallingConvention.Winapi)> _
Public Shared Function GetModuleHandle(ByVal lpModuleName As String) As IntPtr
End Function
<DllImport("kernel32.dll", SetLastError:=True, CallingConvention:=CallingConvention.Winapi)> _
Public Shared Function GetProcAddress(ByVal hModule As IntPtr, ByVal lpProcName As String) As IntPtr
End Function
<DllImport("kernel32.dll", SetLastError:=True, CallingConvention:=CallingConvention.Winapi)> _
Public Shared Function CreateRemoteThread(ByVal hProcess As IntPtr, ByVal lpThreadAttributes As Integer, _
ByVal dwStackSize As UInteger, ByVal lpStartAddress As IntPtr, ByVal lpParameter As IntPtr, _
ByVal dwCreationFlags As UInteger, ByRef lpThreadId As IntPtr) As IntPtr
End Function
<DllImport("kernel32.dll", SetLastError:=True, CharSet:=CharSet.Unicode, EntryPoint:="LoadLibraryA")> _
Public Shared Function LoadLibrary(ByVal lpFileName As String) As IntPtr
End Function
Friend WithEvents OZ As New Timer
Const TargetName As String = "WarRock"
Dim ExeName As String = IO.Path.GetFileNameWithoutExtension(Application.Ex ecutablePath)
Private Sub InnjectionMethods_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.TopMost = True
OZ.Interval = 25
If IO.File.Exists(Application.StartupPath & "\" + ExeName + ".dll") Then
Me.Label1.Text = "...Warten auf WarRock.exe"
OZ.Start()
Else
Me.Label1.Text = ">" + ExeName
Me.Label2.Text = ".dll Nicht Gefunden !"
End If
End Sub
Private Sub OZs(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OZ.Tick
Dim Target As Process() = Process.GetProcessesByName(TargetName)
If Target.Length <> 0 Then
Me.Label2.Text = ">WarRock Is Running"
OZ.Stop()
InjectToProcess()
End If
End Sub
Sub InjectToProcess()
Dim ExeName As String = IO.Path.GetFileNameWithoutExtension(Application.Ex ecutablePath)
Dim Target As Process() = Process.GetProcessesByName(TargetName)
Dim pHandle As IntPtr = OpenProcess(PROCESS_CREATE_THREAD Or PROCESS_VM_OPERATION Or PROCESS_VM_WRITE, False, Target(0).Id)
If (pHandle = IntPtr.Zero) Then
Label2.Text = "<Failed To Open Processs!"
Else
Dim pszLibFileRemote As String = Application.StartupPath & "\" + ExeName + ".dll"
Dim pfnStartAddr As IntPtr = GetProcAddress(GetModuleHandle("Kernel32"), "LoadLibraryA")
Dim TargetBufferSize As Integer = Int(1 + Len(pszLibFileRemote))
Dim LoadLibParamAdr As IntPtr = VirtualAllocEx(pHandle, IntPtr.Zero, TargetBufferSize, MEM_COMMIT, PAGE_READWRITE)
If (LoadLibParamAdr = IntPtr.Zero) Then
Label2.Text = "<Failed To Allocate Memory!"
Else
Dim Rtn As Boolean = WriteProcessMemory(pHandle, LoadLibParamAdr, pszLibFileRemote, TargetBufferSize, 0)
If Rtn = False Then
Label2.Text = "<Failed To Write Memory!"
Else
Dim lpThreadId As IntPtr
CreateRemoteThread(pHandle, 0, 0, pfnStartAddr, LoadLibParamAdr, 0, lpThreadId)
If (lpThreadId = IntPtr.Zero) Then
Label2.Text = "<Failed To Create Thread!"
Else
Label2.Text = "<Dll Injected Succefully!"
End If
Me.Close()
End If
End If
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.BackColor = Color.Red
Me.TransparencyKey = Me.BackColor
Me.Hide()
End Sub
End Class
ihr musst eigt nur 2 label auf eurer projekt klatschen ^^