Hallo Leute, ich hab folgendes Problem:
Ich möchte etwas in den Speicher eines Spiels schreiben, was auch kein Problem ist, solange es eine statische Adresse ist, wie z.B.:
Delphi-Quellcode:
ThreadId := GetWindowThreadProcessId(WindowName,@ProcessId);
HandleWindow := OpenProcess(PROCESS_ALL_ACCESS,False,ProcessId);
GetMem(buf,1);
buf^ := Chr($1); //Der Wert ist also $1
FreeMem(buf);
WriteProcessMemory(HandleWindow,ptr($9451524),buf,size,write); //Adresse $123456 ist statisch!
closehandle(HandleWindow);
Jedoch ändert sich diese Adresse bei jedem Spielstart, weshalb ich einen Pointer benutzen muss:
$9451524 mit den Offsets:
+20
+bcc
+10
+38 (alle als hexadezimal)
um zu der Adresse zu kommen.
Wie kann ich in die WriteProcessMemory Funktion diese Offsets einbinden? Oder benötige ich dazu eine andere Funktion?
danke im Vorraus, infy
[edit=SirThornberry]Delphi-Tags gesetzt - nächstes mal bitte selbst machen - Mfg, SirThornberry[/edit]