Thema: Delphi Zahl in RAM schreiben

Einzelnen Beitrag anzeigen

Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#12

AW: Zahl in RAM schreiben

  Alt 10. Jul 2010, 12:59
Hat jmd. ne Funktion, mit der ich eine Zahl von 0-255 in eine bestimmte RAM-Addresse schreiben kann???
ich hab ein spiel (rennspiel) und will da den gang ändern
Ich wäre mir aber nicht so wirklich sicher, ob das tatsächlich so einfach funktioniert. Ist der Gang wirklich nur als Byte gespeichert? Oder als struct mit weiteren Infos, wie bspw. Übersetzungsverhältnis u.ä.? Vllt. sogar als Instanzzeiger?
Zudem würde ich mich auch nicht darauf verlassen, dass es keine Probleme gibt, wenn jetzt einfach mal plötzlich der Gang wechselt. Normalerweise läuft da mehr ab als ein inc(MeinAuto.gang); . Wenn der Entwickler das wirklich unterstützt, sollte er bessere Möglichkeiten, bzw. Infos zu besseren Möglichkeiten herausgeben. Zu viel Erfolg würd ich mir jedenfalls von diesem Ansatz nicht erwarten.

und so will ich was reinschreiben:
Delphi-Quellcode:
    GetMem(buf,1);
    buf^ := Chr($02); // <-- will eine 3 reinschreiben
    WriteProcessMemory(HandleWindow,ptr($599C8A),buf,1,write);
    FreeMem(buf);
klappt aber nicht ...
Ich würde das evt. mit nem eigenen Programm vorher debuggen. (D.h. dass du den Wert eines eigenen, eigenständigen Programmes änderst). Damit kannst du wenigstens feststellen, ob deine Funktion oder dein Ansatz nicht funktioniert
(Wobei ich her noch auf die Funktion tippe: ptr($599C8A) klingt schon ziemlich nach "funktioniert nicht", da Adressen normalerweise nicht konstant sein sollten )

greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat