Home of Gamehacking - Archiv

Normale Version: Pizza Connection 2 Adressen
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Moin Moin,
versuche seit einiger Zeit die Geld Adresse in dem schönen Klassiker Pizza Connection 2 heraus zu finde.

Leider ohne Erfolg. 2Byte, 4Byte, Floar etc...

Vielleicht kann mir da einer helfen oder ein guten Tipp geben.

Mfg
Das is simpel...
Der Wert den Du suchst ist ein FLOAT Wert mit doppelter Genauigkeit...
(03.08.2012, 00:58)sILeNt heLLsCrEAm schrieb: [ -> ]Das is simpel...
Der Wert den Du suchst ist ein FLOAT Wert mit doppelter Genauigkeit...

EDIT// Prima, danke ich hab es ^^

Wie meinst du das, mit doppelter Genauigkeit?


Hmm, aber wie kann ich den Pointer schreiben?

Code:
GetProcessId(ProcName)
        pointer = Read_Long(&H5E7B060)
        Write_Long(pointer + &H90 + &H70 + &H108, 999999999)


So geht es leider nicht -.-
Oder noch besser wie könnte ich ein Code Injektion machen, das der Wert auf 999999999 bleibt?

[Bild: 9ntjj3eblnnx.png]

[Bild: d3ah3yjfikw5.png]

(03.08.2012, 10:43)chesar schrieb: [ -> ]
(03.08.2012, 00:58)sILeNt heLLsCrEAm schrieb: [ -> ]Das is simpel...
Der Wert den Du suchst ist ein FLOAT Wert mit doppelter Genauigkeit...

EDIT// Prima, danke ich hab es ^^

Wie meinst du das, mit doppelter Genauigkeit?

Mit doppelter Genauigkeit denke ichmeint er das du nach DOUBLE suchen musst.
Hab das Game leider nicht um genaueres zu sagen.


Ja, die Adresse habe ich schon.
Nur leider bekomme ich es nicht hin den Pointer zu schreiben oder eine Code Injektion.
Wäre nett wenn ihr mir da weiter helfen könntet.

Mfg
(03.08.2012, 14:42)chesar schrieb: [ -> ]Ja, die Adresse habe ich schon.
Nur leider bekomme ich es nicht hin den Pointer zu schreiben oder eine Code Injektion.
Wäre nett wenn ihr mir da weiter helfen könntet.

Mfg

Hey,
du kannst nicht einfach auf die BaseAdresse des Pointers die Offsets aufaddieren. Du musst, nachdem du ein Offset zur Adresse addiert hast, die neue Adresse auslesen und auf die dann das nächste Offset addieren u.s.w.
Ein Float Wert mit doppelter Genauigkeit ist das was z.B. Cheat Engine im allgemeinen als "Double" bezeichnet.

(03.08.2012, 15:18)Acubra schrieb: [ -> ]Hey,
du kannst nicht einfach auf die BaseAdresse des Pointers die Offsets aufaddieren. Du musst, nachdem du ein Offset zur Adresse addiert hast, die neue Adresse auslesen und auf die dann das nächste Offset addieren u.s.w.
So wie das Trainermodul von DNA geschrieben ist, funktioniert das schon richtig so. Das ist nur die Funktion zur erleichterten Schreibweise. Intern wird natürlich erst jedes einzelne Offset bzw. die daraus resultierende Adresse ausgelesen...

Aber...
[code=VB]GetProcessId(ProcName)
pointer = Read_Long(&H5E7B060)
Write_Long(pointer + &H90 + &H70 + &H108, 999999999)[/code]
Ich weiß nicht wie DNA das Trainermodul gecodet hat, aber wenn Du das so schreibst dann dürfte der Wert höchstwahrscheinlich als reiner Integer Wert geschrieben werden was einem Double Wert in keiner Weise entspricht.
Eine Codecave ist aber auch mehr als einfach...


Original Bytes
----------------
[code=ASM]Pizza2.exe+31D60 - DD 82 08 01 00 00 - fld qword ptr [edx+00000108][/code]
Geänderte Bytes
-------------------
[code=ASM]Pizza2.exe+31D60 - E9 9BE6FCFF - jmp Pizza2.exe+400
Pizza2.exe+31D65 - 90 - nop [/code]
Codecave an Pizza2.exe+400
---------------------------------
[code=ASM]Pizza2.exe+400 - 83 FD 00 - cmp ebp,00
Pizza2.exe+403 - 75 14 - jne Pizza2.exe+419
Pizza2.exe+405 - C7 82 08010000 000080FF - mov [edx+00000108],FF800000
Pizza2.exe+40F - C7 82 0C010000 64CDCD41 - mov [edx+0000010C],41CDCD64
Pizza2.exe+419 - DD 82 08010000 - fld qword ptr [edx+00000108]
Pizza2.exe+41F - E9 41190300 - jmp Pizza2.exe+31D65
[/code]
(03.08.2012, 15:18)Acubra schrieb: [ -> ]
(03.08.2012, 14:42)chesar schrieb: [ -> ]Ja, die Adresse habe ich schon.
Nur leider bekomme ich es nicht hin den Pointer zu schreiben oder eine Code Injektion.
Wäre nett wenn ihr mir da weiter helfen könntet.

Mfg

Hey,
du kannst nicht einfach auf die BaseAdresse des Pointers die Offsets aufaddieren. Du musst, nachdem du ein Offset zur Adresse addiert hast, die neue Adresse auslesen und auf die dann das nächste Offset addieren u.s.w.

Wie genau schreibe ich das in VB?

Code:
pointer = Read_Long(&H5E7B060)
        Write_Long(pointer + &H90)


So zeigt er mir ja ein Fehler an...

Ich nehme mal an, das ist auch Schwachsinn?

Zitat:GetProcessId(ProcName)
WriteLine(&H5E7B060 + &H90)
WriteLine(&H5DC9D50 + &H70)
WriteLine(&H6C6C400 + &H108)
Write_Long(&H6C6C508, 666666)

Is doch alles quatsch...
Der Pointer wird doch richtig ausgelesen, wenn Du denn den richtigen Pointer hast. Aber Du kannst nicht einfach einen Integer Wert schreiben wenn das Spiel nen Float Wert haben will.
Wenn dann müsstest Du den Integer Wert erstmal in einen Float Wert konvertieren und dann in den Speicher schreiben.
Wie da allerdings die Schreibweise in VB aussieht kann dir DNA sicherlich am besten schreiben, oder Du nimmst halt die ne Codecave...

Ehrlich gesagt bin ich jetzt selbst etwas verwirrt...
Ich weiß momentan nicht inwiefern das Trainermodul aktuell ist was die Pointer angeht. Im Trainermodul 2.0 ist zumindest schon die Deklaration etc. enthalten und der Aufruf sieht da aber folgendermaßen aus...
[code=VB]Write_Pointer(999, &H1e7604c, &H224, &H4b0, &H5c, &H0, &H1d8)[/code]