Xploder: Workshop am Beispiel von Metal Gear Solid
Das Prinzip der Cheatsuche ist einfach und basiert auf einem simplen
Ausschlußverfahren. Dabei wird der komplette Speicherinhalt der PlayStation
über das Parallelkabel in den PC eingelesen (davon ausgehend, daß
Sie die ausgereifteste Art zu Trainieren benutzen und mit X-Link arbeiten)
und dort abgelegt. Dann verändern Sie den Speicher der PlayStation,
indem Sie beispielsweise ein wenig herumlaufen, einen Gegenstand benutzen
oder einen Gegner besiegen. Jetzt müssen Sie die Speicherstellen aussieben
die nicht dem gesuchten Kriterium - ein Leben verloren, ein Gegenstand verbraucht
etc. - genügen. Klingt verwirrend? Keine Sorge, ist es nicht. Ein konkretes
Beispiel soll es an dieser Stelle verdeutlichen.
Nehmen wir einmal an, Sie möchten einen Cheat finden, der Ihnen eine
bestimmte Anzahl Munition für eine Waffe geben soll. In unserem Beispiel
werden wir jetzt einmal nach dem Cheatcode für die Anzahl der zur
Verfügung stehenden Fa-Mas-Munition in dem Action-Adventure Metal Gear
Solid suchen.
Im unteren Bereich des Bildschirms sind die relevanten Befehle für das
Suchen von Schummelcodes. Die Schaltfläche "Start" unten links initialisiert
die Cheatsuche und veranlaßt den Xploder, den kompletten Speicherinhalt
der PlayStation auf den Computer zu übertragen.
In der Spalte über dem Start-Knopf finden Sie eine Reihe von
Vergleichsoperatoren: "Größer", "Kleiner", "Gleich", "Ungleich",
"Wert" und "Bereich". Wenn Sie eine der Schaltflächen betätigen,
wird wieder der komplette Speicher des PlayStation zum PC geschickt. Und
jetzt kommt der Trick: Danach vergleicht der PC in Windeseile, welche
Speicherstellen sich im Vergleich zum ersten heruntergeladenen Speicherabbild
verändert haben und zeigt als Ergebnis eine Liste mit allen Speicheradresse
an, die dem gewählten Vergleichsoperator entsprechen.
Sie haben also einen Speicherzustand in den PC eingelesen. Nun möchten
Sie wissen, wo die Anzahl der Fa-Mas-Patronen abgelegt ist. Wie gehen Sie
vor? Sie tun zunächst einmal gar nichts, sondern warten einfach ein
paar Sekunden.
Dann drücken Sie auf die Schaltfläche "Gleich". Das bewirkt, daß
sich der PC vom Xploder erneut den kompletten Speicherinhalt
herüberschieben läßt. Und nun vergleicht der PC jede
Speicherstelle des alten Zustands mit der korrespondierenden Speicherstelle
im neuen Zustand und listet alle Speicheradressen auf, bei denen sich der
Inhalt nicht verändert hat- und das sind eine ganze Menge, denn auch
wenn Sie selber nichts machen, so berechnet die PlayStation in der Zwischenzeit
eine Menge Vorgänge: Gegner bewegen sich, die Zeitvariable erhöht
sich, Musik und Hintergrundgeräusche werden abgespielt und dergleichen
mehr. Die Auswahl des Vergleichsoperators "Gleich" macht in diesem Fall also
durchaus Sinn, denn Sie haben ja keinen Schuß mit dem Fa-Mas abgegeben,
also müßte der Bestand an Munition ja genau derselbe sein wie
beim ersten Speicherzustand.
Diese Liste mit Speicherstellen wird dann im Fenster der Software angezeigt,
sobald sich eine halbwegs überschaubare Zahl von Möglichkeiten
ergeben hat, die dem Kriterium genügt. Ist diese Zahl noch zu groß,
so wird nur angezeigt, wie viele dieser Möglichkeiten die Software gefunden
hat.
Damit haben Sie schon mal eine große Anzahl von Möglichkeiten
eliminiert. Aber es bleiben noch immer viel zu viele Speicherstellen übrig,
die sich bisher genau wie die Anzahl der Fa-Mas-Patronen noch nicht verringert
haben. Daher müssen Sie jetzt noch ein wenig präziser werden: ziehen
Sie das Fa-Mas und geben Sie ein paar Schuß ab.
Was ist dadurch im Speicher der PlayStation passiert? Irgendwo ist die Zahl
der Patronen abgespeichert, und dieser Zähler muß sich nun zwangsweise
reduziert haben. Drücken Sie also auf die Taste "Kleiner", um den aktuellen
Speicherzustand der PlayStation auf den PC zu übertragen. Dieser
Speicherzustand wird jetzt wieder mit dem vorherigen Zustand verglichen,
der aber schon auf die Speicherstellen reduziert wurde, die beim letzten
Abgleich unverändert geblieben sind.
Jetzt prüft die Software, welche dieser Daten sich nach der letzten
Aktion vermindert hat und gibt als Ergebnis eine neue Liste aus. Bei jedem
Schritt wird also die Zahl der in Frage kommenden Speicherstellen reduziert.
Als nächstes wollen wir in die andere Richtung forschen. Suchen Sie
eine Munitionskiste mit Patronen für das Fa-Mas und nehmen Sie sie auf.
Dadurch erhöht sich selbstverständlich die Anzahl der Kugeln in
Ihrem Inventar. Folgerichtig lassen Sie den PC jetzt den aktuellen Datenbestand
mit der neuen Situation vergleichen und die Speicheradressen, die nun einen
"größeren" Wert aufweisen als vorher, in die Liste schreiben.
Jetzt sollten Sie schon eine recht überschaubare Anzahl Zahl von in
Frage kommenden Speicheradressen angezeigt bekommen. Falls nicht, so verfahren
Sie nach dem oben beschriebenen Muster und eliminieren Sie weiterhin Zahlenwerte,
die unter logischen Gesichtspunkten nicht den eingegebenen Kriterien entsprechen
können.
Die nächste Möglichkeit, die Suche weiter einzuschränken,
besteht im Aufspüren einer ganz konkreten Zahl von Patronen. Klicken
Sie auf "Wert" und geben Sie die Zahl der noch vorhandenen Patronen an. In
unserem Beispiel soll dies die Zahl "111" sein. Die Software prüft nun,
in welchen Speicheradressen momentan exakt der Wert "111" abgelegt ist. Es
sollte Sie aber nicht wundern, wenn in der Liste dann nirgends der Speicherinhalt
"111" auftaucht. Die Inhalte werden nämlich im Hexadezimalsystem abgelegt.
"111" in unserem normalen auf der Zahl 10 basierenden Rechensystem entspricht
der Zeichenfolge "6F" im auf der Zahl 16 basierenden Hexadezimalsystem. Halten
Sie also nach einer Speicheradresse Ausschau, die in der aktuellen Momentaufnahme
die Hexadezimalzahl 6F enthält.
Als Ergebnis liefert uns das Programm nach einiger Zeit drei mögliche
Kandidaten - das kann sich bei Ihrer Suche allerdings abweichend gestalten,
je nachdem, mit welchen Kriterien und wie häufig Sie die Sucherergebnisse
weiter eingeschränkt haben.
Der Liste kann man nun die Speicheradresse ablesen, den aktuellen Wert sowie
die Werte, die bei den letzten Vergleichen in dieser Speicherzelle abgelegt
waren. Dies kann nützlich sein, um zu sehen, wie sich der Wert des Registers
im Zeitablauf verändert hat.
Nun müssen Sie ausprobieren, welcher dieser Codes das gewünschte
Resultat liefert. Dazu doppelklicken Sie einfach auf den aktuellen Speicherwert
eines der Kandidaten, um ihn "einzufrieren" - das war es schon. Sie können
direkt am Bildschirm der PlayStation testen, ob es geklappt hat, da der
Speicherinhalt der PlayStation bereits über das Kabel manipuliert wurde.
Wenn Sie nun feuern, wird der Zähler für die Patronen nicht weiter
verringert.
Voilá! Sie haben soeben Ihren ersten Cheat gefunden. Sie können
sich nun die Speicheradresse notieren oder in der Cheatdatei abspeichern,
die im Xploder hinterlegt ist, um ihn jederzeit wieder benutzen zu können.