Home of Gamehacking - Archiv

Normale Version: Cheat Engine 6.4 -> 3-Byte-Suche?
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe zwei Fragen zur Nutzung von Cheat Engine.

Im Spiel Imperialism werden die Suchwerte als 3-Byte-Ketten ausgegeben. Ich kann in Cheat Engine jedoch nur Single, 2-Byte, 4-Byte, usw. auswählen.

Mit "All" habe ich Unmengen an Treffern, weiß z.B. aber, dass es bestimmte Werte nur 4x gibt. Angezeigt werden 154. Ich nehme an, da er bei einem Wert von 15.000/ 983A00 nach den Bytes "98", "3A" und "00" sucht?

Die nächste Frage bezieht sich auf die Eingabe der Hexwerte.

Wenn ich bspw. von Value auf Hex umstelle werden die 15.000 als "3A98" ausgegeben, statt als "983A" wie ich es von HEX-Editoren kenne, zwecks "Wertigkeit".

Gruß
Hey, meinst du das alte Spiel von 1997?
(23.11.2015, 16:24)DNA schrieb: [ -> ]Hey, meinst du das alte Spiel von 1997?

Jep. Das Original läuft unter x64 nicht mehr (bzw. nur mit Win7Pro im XP Emulator). Daher habe ich mir für 5€ die Version 2.0.1 von gog.com gekauft. Gibts auch auf deutsch. Imp2 läuft zum Glück unter 64bit.

Von der Funktion her identisch.
Für 3 Byte Suche kannst du in CE bei Value Type - Array of Byte einstellen.
Aber bei dem Spiel eigentlich nicht erforderlich. Geldwert ist zum Beispiel als 4 Byte im Speicher
hinterlegt.
(22.11.2015, 17:32)Citylight schrieb: [ -> ]Wenn ich bspw. von Value auf Hex umstelle werden die 15.000 als "3A98" ausgegeben, statt als "983A" wie ich es von HEX-Editoren kenne, zwecks "Wertigkeit".

Und dazu noch was von mir...
Der Wert von 15.000 (dezimal) entspricht ja auch 0x3A98 (hex). Und das ist dass was auch Cheat Engine in der Suchmaske von dezimal zu hexadezimal konvertiert. Wie du es von Hexeditoren kennst so verhält sich auch Cheat Engine beim direkten editieren des Speichers (siehe Memory View).
Warum das so ist hängt mit der x86 Prozessorarchitektur zusammen die früher von Intel festgelegt/erfunden wurde. Die x86 Prozessorarchitektur sieht das Little Endian Format vor. Deshalb werden Daten invertiert in den Speicher geschrieben. Anders ausgedrückt... Im Speicher wird vom niederwertigen Byte zum höherwertigen Byte geschrieben.

grEEtZ iNvIcTUs
(30.11.2015, 17:59)iNvIcTUs oRCuS schrieb: [ -> ]
(22.11.2015, 17:32)Citylight schrieb: [ -> ]Wenn ich bspw. von Value auf Hex umstelle werden die 15.000 als "3A98" ausgegeben, statt als "983A" wie ich es von HEX-Editoren kenne, zwecks "Wertigkeit".

Und dazu noch was von mir...
(..)

grEEtZ iNvIcTUs

Danke für die Erklärung.

Ich habs jetzt noch mal mit dem Array of Byte probiert, aber kein Erfolg. In Cheat Engine finde ich noch nicht mal den Geldbetrag, weder als Hex noch als Value.
Dann würde ich einfach mal auf ein schlecht eingestelltes Cheat Engine tippen.
Wenn Du der Meinung bist das die Werte als 3Byte gespeichert sind, dann müsstest Du ja wenigstens Geldwerte bis (+)65.535 mit einer 2 Byte Suche finden können.
Wenn das nicht klappt dann bekräftigt das nur meine Aussage. Oder es läuft noch eine andere Datei im Hintergrund und die Startdatei (exe) ist nur der Loader?!
Wie z.B. bei Command & Conquer. Da wird mit der EXE nur eine "*.game" oder "*.dat" Datei geladen welche die eigentliche Spiedatei darstellt.