Geht das so einfach? Muss man nicht zuerst die Value in 0x01007170 mit ReadProcessMemory() in lol reinschreiben?
[b]DWORD lol = 0;[/b] DWORD buffer = 150; DWORD procId = 0; DWORD written = 0; HWND soltwnd = FindWindowA(NULL, "Solitär"); GetWindowThreadProcessId(soltwnd, &procId); HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, FALSE, procId); [b]ReadProcessMemory(hProc, (void*)0x01007170, &lol, 4, &written);[/b] WriteProcessMemory(hProc, (void*)(lol + 0x30), &buffer, 4, &written); return 0;
#include <NomadMemory.au3>
If not WinExists("Solitär") Then
MsgBox(0,"Error","Starte zuerst Solitär und dann den Hack!")
Exit
EndIf
$address = 0x0022D870 ; adresse des Zeigers
$process = WinGetProcess("Solitär")
$OpenProccess = _MemoryOpen($Process)
If @error Then
MsgBox(0,"error","error opening process.")
Exit
EndIf
MsgBox(0,"Punkte", "Du hast " & _MemoryRead($OpenProccess, $address) & " Punkte") ; Sollte die Punkte ausgeben die man hat
_MemoryWrite(hex($address2), $OpenProccess, 150,"int"); Trägt 150 in die Punkteaddresse ein. Danach sollte man 150 Punkte haben.
#include <NomadMemory.au3>
If not WinExists("Solitaire") Then
MsgBox(0,"Error","Starte zuerst Solitär und dann den Hack!")
Exit
EndIf
$address = 0x03044d70 ; adresse des Zeigers
$process = WinGetProcess("Solitaire")
$OpenProccess = _MemoryOpen($Process)
If @error Then
MsgBox(0,"error","error opening process.")
Exit
EndIf
MsgBox(0,"Punkte", "Du hast " & _MemoryRead($address, $OpenProccess) & " Punkte") ; Sollte die Punkte ausgeben die man hat
_MemoryWrite($address, $OpenProccess, 150,"int"); Trägt 150 in die Punkteaddresse ein. Danach sollte man 150 Punkte haben.
Nach der Bezeichnung stimmt da aber etwas nicht.Quote:
wenne es so machst funzt es tadellos, musst dir nur deine adresse eintragen.
Code:#include <NomadMemory.au3> If not WinExists("Solitaire") Then MsgBox(0,"Error","Starte zuerst Solitär und dann den Hack!") Exit EndIf $address = 0x03044d70 ; adresse des Zeigers $process = WinGetProcess("Solitaire") $OpenProccess = _MemoryOpen($Process) If @error Then MsgBox(0,"error","error opening process.") Exit EndIf MsgBox(0,"Punkte", "Du hast " & _MemoryRead($address, $OpenProccess) & " Punkte") ; Sollte die Punkte ausgeben die man hat _MemoryWrite($address, $OpenProccess, 150,"int"); Trägt 150 in die Punkteaddresse ein. Danach sollte man 150 Punkte haben.
#include <NomadMemory.au3>
If not WinExists("Solitär") Then
MsgBox(0,"Error","Starte zuerst Solitär und dann den Hack!")
Exit
EndIf
$address1 = "0x01007170" ; adresse des Zeigers
$offset = 0x30
$esp = _MemoryRead(($address1), _MemoryOpen(ProcessExists("sol.exe")))
$address2 = String(int($esp) + $offset)
$punkte = _MemoryRead(($address2), _MemoryOpen(ProcessExists("sol.exe")))
MsgBox(0,"[DEBUG]", "Du hast " & $punkte & " Punkte")
_MemoryWrite($address2,_MemoryOpen(ProcessExists("sol.exe")),"9999999999")