Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [$0048c2e8] umrechnen (https://www.delphipraxis.net/33453-%5B%240048c2e8%5D-umrechnen.html)

Die Muhkuh 7. Nov 2004 14:01


[$0048c2e8] umrechnen
 
Hi,

ich programmiere grad an einem Spiel. Ich hab das zu Mirage228 gemacht, damit er es mal testet. In dem Spiel sind auch ein paar Cheats eingebaut. Wenn man cheatet kann man sich nicht mehr in den Highscore eintragen, aber wie Mirage halt so ist, hat er die Exe gepachted und schwupp, trotz cheaten konnte er sich in den HighScore eintragen, was mir natürlich nicht so passte. Im weiteren gespräch meinte er, das es ein paar böse Bubis geben könnte die auch die Exe so patchen, das man pro Auto einiges an mehr an Punkten bekommt. Jetzt wollte ich mal gucken, ob man das wirklich so einfach geht. Also -> Breakpoint gesetzt -> gestartet und das CPU-Fenster aufgerufen und mal geguckt wo man das verändern kann. Jetzt bin ich auf $0048c2e8 gestoßen. Umgerechnet sollte das eigentlich 100 sein. Bloß ist mein Frage nun, wie rechne ich diesen Wert um?

*MFG*

Manu :hi:

Sprint 7. Nov 2004 14:10

Re: [$0048c2e8] umrechnen
 
Zitat:

Zitat von Spider
Jetzt bin ich auf $0048c2e8 gestoßen. Umgerechnet sollte das eigentlich 100 sein. Bloß ist mein Frage nun, wie rechne ich diesen Wert um?

Ich vermute mal, das $0048c2e8 der Zeiger auf die Variable ist, wo der Wert 100 drin steht.

Die Muhkuh 7. Nov 2004 14:11

Re: [$0048c2e8] umrechnen
 
hmm und wie finde ich das nun?

nailor 7. Nov 2004 14:41

Re: [$0048c2e8] umrechnen
 
der windowstaschenrechner kann sowas. wissenschaftliche ansicht, hex-zahlen. beachten, dass manchmal bei integern (eigentlich immer) die bytereihgenfolge falschrum ist. allerdings hat die zahl da SO nicht wirklich viel mit 100 zu tun. vermutlich in der tat echt nen zeiger oder sowas.

moritz 7. Nov 2004 14:45

Re: [$0048c2e8] umrechnen
 
Nur zum Verständnis: Was macht diese Zahl überhaupt? Also wie kommst du gerade auf diese Zahl?

Christian Seehase 7. Nov 2004 14:48

Re: [$0048c2e8] umrechnen
 
Moin Spider,

angenommen, Du hast intern die Punkte in einer Variablen iPoints gespeichert, dann wäre $0048c2e8 die Adresse dieser Variablen

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);

var
  iPoints : integer;
  pPoints : PInteger;

begin
  iPoints := 100;
  pPoints := @iPoints; // pPoints wäre jetzt, z.B. $0048c2e8
  ShowMessage(IntToStr(pPoints^)); // dereferenzieren (^) der Adresse
end;

Die Muhkuh 7. Nov 2004 15:41

Re: [$0048c2e8] umrechnen
 
Zitat:

Zitat von moritz
Nur zum Verständnis: Was macht diese Zahl überhaupt? Also wie kommst du gerade auf diese Zahl?

Hi,

du kennst doch diese Games wo man Autos oder solchen Sachen ausweichen muss. Und pro ausgewichenem Auto 100 Punkte ;)



@Chris


Achso, das heißt, ich könnte die Zahl an sich gar nicht ändern?

moritz 7. Nov 2004 15:51

Re: [$0048c2e8] umrechnen
 
Achso...Doch, du Kannst die Zahl ändern. Indem du die Speicherstelle änderst.
Welche Speichergröße hast du denn für den Punktestand gewählt?
Der Code wäre dann(32 bit assembler):
Code:
mov byte ptr [0x0048c2e8], Deinwert
(Wenn ich mich nicht Irre)

Aber ich vermute Mirage hat was ganz anderes gemacht :-|

Gruß

Die Muhkuh 7. Nov 2004 16:00

Re: [$0048c2e8] umrechnen
 
Hi,

Mirage hat eine Jump-Adresse umgangen um sich trotz cheaten in die HighScore Liste einzutragen. Aber um das geht hier nicht.


Ich möchte wissen, ob man die Punkte die man pro Auto bekommt, verändern kann. Wenn ja -> sch***endreck.

moritz 7. Nov 2004 16:01

Re: [$0048c2e8] umrechnen
 
Sicher kann man das. Du wirst die Punkteanzahl ja irgendwo hardgecodet haben. Wenn du den Typ allerdings geschickt wählst ( Byte ) kann man sie auf maximal 255 setzen. Ich vermute bis jetzt ist es noch ein Integer, da ist weit mehr möglich.
Schick mir mal die Executable, ich probiers einfach mal.

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:50 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz