Moin,
ich bin gerade (mehr oder weniger) dabei, einen Savegame-Editor für Spiele zu schreiben. Spieletrainer die direkt auf den Windowsspeicher zugreifen hab ich schon geschrieben, trotzdem stoße ich bei diesem Projekt auf Schwierigkeiten die ich durch einfaches googeln/suchen nicht lösen konnte.
Dies ist der Source mit dem ich mein savegame öffne, und an einer bestimmte position (die ich vorher mit nem Hex editor rausgefunden habe) ein byte ersetze.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
filDatei: TFileStream;
byteBuffer: Byte;
begin
filDatei := TFileStream.Create('C:\SAVEGAME001.sav', fmOpenWrite); // Datei öffnen
filDatei.Position := 3039; // Dateizeiger an die richtige Position fahren;
byteBuffer := 255; // Das Byte, das geschrieben werden soll
filDatei.WriteBuffer(byteBuffer, 1); // Byte schreiben
filDatei.Free; // Freigeben
end;
Ich möchte nun in einem Textfeld im Programm den Wert eines bestimmten Offset angezeigt bekommen. Der User sieht also im Programm, aha, in meinem Savegame sind 5 Leben gespeichert, da klicke ich doch mal ins textfeld und trage was anderes ein...
Wie kann ich den wert bestimmter adressen in dem savegame auslesen und im textfeld anzeigen?! Ich konnte dazu nichts finden...
Ich bin wirklich dankbar,
LG aus Hamburg,
rob
PS: Ein Savegame-Editor funktioniert nicht bei Onlinespielen sondern nur wenn das Savegame lokal gespeichert ist. Also nix mit grossartiger Betrügerei anderen gegenüber, um das gleich mal zu entkräften (für die die es nicht wissen....