Einzelnen Beitrag anzeigen

infY2k7

Registriert seit: 21. Mai 2008
23 Beiträge
 
#1

Delphi WriteProcessMemory mit Offsets zum Pointer

  Alt 21. Mai 2008, 12:59
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]
  Mit Zitat antworten Zitat