Cheat-Module für die PlayStation
Wer nicht resignieren will, wenn kein eingebauter Cheat zur Verfügung
steht, der faßt entweder den Programmcode oder abgespeicherte
Spielstände ins Auge. Das Verfahren ist einfach erklärt: Wenn in
einem Spiel das Startkapital 100 Credits beträgt, dann sind diese "100"
irgendwo auf der schwarzen Spiel-CD-ROM gespeichert und lassen sich theoretisch
auf "999" erhöhen. Und Angaben über die aktuelle Zahl der Credits
sind nach dem Speichern auf der Speicherkarte zu finden - und warten darauf,
manipuliert zu werden.
Und hier tritt ein grundsätzliches Mogel-Problem bei Spielkonsolen zutage: Auf dem PC werden die (wichtigsten) Programmdateien und auf jeden Fall die Spielstände auf der Festplatte abgelegt. Die Daten sind damit a) leicht zugänglich und lassen sich b) mit geringem Aufwand manipulieren. Bereits mit den Mitteln, die das Betriebssystem - DOS oder Windows - zur Verfügung stellt, kann Einblick in den Programmcode genommen werden, lassen sich Texte und Levelcodes entdecken. Wer sich die (relativ geringe) Mühe macht, das Hantieren mit Hexadezimalzahlen und einem Hexeditor zu erlernen, kann schon bald seinen Reichtum ins Unermeßliche mehren.
Eine Spielkonsole hingegen ist eine Black Box - man bekommt nur die Oberfläche des Spiels zu sehen, kann nicht hinter die Kulissen schauen. Oder fast nicht - denn die Daten einer PlayStation-CD sind in einem bestimmten Format gespeichert, das auf dem PC nicht unbekannt ist: ISO-9660. Das bedeutet, Inhaltsverzeichnis und Dateien lassen sich, wie bei einer PC-CD-ROM, ganz normal betrachten. Mit ein wenig Glück findet man Hinweise, die weiterhelfen - Levelcodes, Missionsbeschreibungen, Credits. Wörter offenbaren sich dabei als Levelcodes leichter; Zahlen sind meist schwierig aufzustöbern.
Alles schön und gut. Sie werden aber nicht ermitteln können, welche drei Tasten gleichzeitig gedrückt werden müssen, um unverwundbar zu werden. Keinen dieser Hotkeys findet heraus, wer nicht hinter das Programmierkonzept der Konsole steigt, die Assemblersprache lernt und mit einem unerhörten Aufwand ein Spiel rückübersetzt - in einen (für Experten) lesbaren Programmcode. Langer Rede kurzer Sinn: Cheaten von Konsolen-Spielen macht fast nur Sinn, wenn man die Cheats schon kennt. Aber es gibt einen Ausweg aus dem Dilemma: Cheatmodule. Mit ihrer Hilfe lassen sich selbständig Cheats herausfinden ("trainieren").
Und hier tritt ein grundsätzliches Mogel-Problem bei Spielkonsolen zutage: Auf dem PC werden die (wichtigsten) Programmdateien und auf jeden Fall die Spielstände auf der Festplatte abgelegt. Die Daten sind damit a) leicht zugänglich und lassen sich b) mit geringem Aufwand manipulieren. Bereits mit den Mitteln, die das Betriebssystem - DOS oder Windows - zur Verfügung stellt, kann Einblick in den Programmcode genommen werden, lassen sich Texte und Levelcodes entdecken. Wer sich die (relativ geringe) Mühe macht, das Hantieren mit Hexadezimalzahlen und einem Hexeditor zu erlernen, kann schon bald seinen Reichtum ins Unermeßliche mehren.
Eine Spielkonsole hingegen ist eine Black Box - man bekommt nur die Oberfläche des Spiels zu sehen, kann nicht hinter die Kulissen schauen. Oder fast nicht - denn die Daten einer PlayStation-CD sind in einem bestimmten Format gespeichert, das auf dem PC nicht unbekannt ist: ISO-9660. Das bedeutet, Inhaltsverzeichnis und Dateien lassen sich, wie bei einer PC-CD-ROM, ganz normal betrachten. Mit ein wenig Glück findet man Hinweise, die weiterhelfen - Levelcodes, Missionsbeschreibungen, Credits. Wörter offenbaren sich dabei als Levelcodes leichter; Zahlen sind meist schwierig aufzustöbern.
Alles schön und gut. Sie werden aber nicht ermitteln können, welche drei Tasten gleichzeitig gedrückt werden müssen, um unverwundbar zu werden. Keinen dieser Hotkeys findet heraus, wer nicht hinter das Programmierkonzept der Konsole steigt, die Assemblersprache lernt und mit einem unerhörten Aufwand ein Spiel rückübersetzt - in einen (für Experten) lesbaren Programmcode. Langer Rede kurzer Sinn: Cheaten von Konsolen-Spielen macht fast nur Sinn, wenn man die Cheats schon kennt. Aber es gibt einen Ausweg aus dem Dilemma: Cheatmodule. Mit ihrer Hilfe lassen sich selbständig Cheats herausfinden ("trainieren").
So arbeiten Cheatmodule
Ein Konsolen-Spiel ist für den Prozessor eine schier endlose Kette von
Zahlen. Das Programm wird von der Spielplatte in den Arbeitsspeicher geladen
und dort - und nur dort - abgearbeitet. Jede Zahl hat ihren bestimmten Platz
in Form einer Speicherzelle, sozusagen einer Ein-Zimmer-Wohnung für
Zahlen. Die Zellen sind numeriert; jede hat eine bestimmte Adresse. Die Zahlen
sind entweder Teil eines Programmbefehls oder Teil von Daten.
Wenn ein Programmierer ein Jump'n'Run-Spiel entwickelt, in dem der Held zu Beginn drei Leben hat, dann wird er eine Speicherzelle für die Lebenszahl reservieren. Und jedesmal, wenn ein Leben verloren wurde, setzt sich ein Automatismus in Bewegung, der den Inhalt der Speicherzelle um 1 reduziert.
Um sich betrügerisch mehr Leben zu verschaffen, sind drei Methoden denkbar:
1. Die Zahl der Leben ist im Arbeitsspeicher der Konsole abgelegt, dessen Inhalt nach dem Aussschalten des Gerätes verlorengeht. Dort war die Zahl also nicht immer. Irgendwo im Programmcode steht die Anweisung, daß beim Spielbeginn in eine bestimmte Speicherzelle eine "3" geschrieben wird, und auf diese Zelle greift das Spiel später zurück, wenn es die Lebenszahl reduziert. Nun bräuchte man nur die Anweisung ein wenig zu manipulieren, indem der Startwert "3" einfach in "100" umgewandelt wird. Netter Gedanke, aber dafür müßte der Inhalt des Spiel-Datenträgers verändert werden, womit das Verfahren in der Regel unter den Tisch fällt.
2. Der Automatismus, der die Zahl der Leben beim Bildschirmtod um 1 reduziert, wird einfach ausradiert. Dieser Trick wird gern bei PC-Spielen angewandt, kaum jedoch bei Konsolen. Die folgende Methode ist viel einfacher, und den Automatismus zu finden, ist eine Heidenarbeit, vor allem, da sehr genaue Kenntnisse über die Ursprache des Konsolen-Prozessors Voraussetzung sind und für die Verwendung dieser "Trainer" eine manipulierte Kopie des Spiel-Datenträgers angefertigt werden muß.
3. Die Zahl der Bildschirmleben wird im Arbeitsspeicher einfach auf einen hohen Wert, zum Beispiel 100, gesetzt. Das ist das Prinzip, mit dem Cheatmodule arbeiten. Externe Programme können auf die Ressourcen der Konsole - wie den Speicher - zugreifen. Dieser Zugriff ist parallel und unabhängig von einem eventuell gleichzeitig ablaufenden Spiel. Cheatmodule wie der Xploder machen sich diesen Hintereingang zunutze, indem sie bestimmte Speicherzellen verändern, etwa die Zelle, in der die Zahl der Leben gespeichert ist, hochsetzen. Um ganz sicher zu gehen, verwandeln die Module nicht einfach nur 3 in 100 Leben, sondern halten die Zelle für die gesamte Dauer eines Spiels auf einem bestimmten Wert. Die Hauptaufgabe eines Cheatmoduls ist es demnach, in Abständen von Sekundenbruchteilen in eine bestimmte Speicherzelle eine bestimmte Zahl einzutragen. Zwar bleibt der Automatismus, der die Zahl der Leben reduziert, weiterhin in Kraft, doch seine Arbeit ist endlos, da mehrfach je Sekunde immer wieder "3" oder "100" Leben in die Zelle geschrieben werden - meist bekommen Sie gar nicht mit, daß für einen kurzen Zeitpunkt der Zähler beim Bildschirmtod auf "2" oder "99" fällt. Für den Spieler ist es dabei egal, ob es immer "3" oder "100" Leben bleiben. Zweiteres sieht zweifelsohne schicker aus, doch gibt es Spiele, die so viele Leben nicht verkraften.
Wenn ein Programmierer ein Jump'n'Run-Spiel entwickelt, in dem der Held zu Beginn drei Leben hat, dann wird er eine Speicherzelle für die Lebenszahl reservieren. Und jedesmal, wenn ein Leben verloren wurde, setzt sich ein Automatismus in Bewegung, der den Inhalt der Speicherzelle um 1 reduziert.
Um sich betrügerisch mehr Leben zu verschaffen, sind drei Methoden denkbar:
1. Die Zahl der Leben ist im Arbeitsspeicher der Konsole abgelegt, dessen Inhalt nach dem Aussschalten des Gerätes verlorengeht. Dort war die Zahl also nicht immer. Irgendwo im Programmcode steht die Anweisung, daß beim Spielbeginn in eine bestimmte Speicherzelle eine "3" geschrieben wird, und auf diese Zelle greift das Spiel später zurück, wenn es die Lebenszahl reduziert. Nun bräuchte man nur die Anweisung ein wenig zu manipulieren, indem der Startwert "3" einfach in "100" umgewandelt wird. Netter Gedanke, aber dafür müßte der Inhalt des Spiel-Datenträgers verändert werden, womit das Verfahren in der Regel unter den Tisch fällt.
2. Der Automatismus, der die Zahl der Leben beim Bildschirmtod um 1 reduziert, wird einfach ausradiert. Dieser Trick wird gern bei PC-Spielen angewandt, kaum jedoch bei Konsolen. Die folgende Methode ist viel einfacher, und den Automatismus zu finden, ist eine Heidenarbeit, vor allem, da sehr genaue Kenntnisse über die Ursprache des Konsolen-Prozessors Voraussetzung sind und für die Verwendung dieser "Trainer" eine manipulierte Kopie des Spiel-Datenträgers angefertigt werden muß.
3. Die Zahl der Bildschirmleben wird im Arbeitsspeicher einfach auf einen hohen Wert, zum Beispiel 100, gesetzt. Das ist das Prinzip, mit dem Cheatmodule arbeiten. Externe Programme können auf die Ressourcen der Konsole - wie den Speicher - zugreifen. Dieser Zugriff ist parallel und unabhängig von einem eventuell gleichzeitig ablaufenden Spiel. Cheatmodule wie der Xploder machen sich diesen Hintereingang zunutze, indem sie bestimmte Speicherzellen verändern, etwa die Zelle, in der die Zahl der Leben gespeichert ist, hochsetzen. Um ganz sicher zu gehen, verwandeln die Module nicht einfach nur 3 in 100 Leben, sondern halten die Zelle für die gesamte Dauer eines Spiels auf einem bestimmten Wert. Die Hauptaufgabe eines Cheatmoduls ist es demnach, in Abständen von Sekundenbruchteilen in eine bestimmte Speicherzelle eine bestimmte Zahl einzutragen. Zwar bleibt der Automatismus, der die Zahl der Leben reduziert, weiterhin in Kraft, doch seine Arbeit ist endlos, da mehrfach je Sekunde immer wieder "3" oder "100" Leben in die Zelle geschrieben werden - meist bekommen Sie gar nicht mit, daß für einen kurzen Zeitpunkt der Zähler beim Bildschirmtod auf "2" oder "99" fällt. Für den Spieler ist es dabei egal, ob es immer "3" oder "100" Leben bleiben. Zweiteres sieht zweifelsohne schicker aus, doch gibt es Spiele, die so viele Leben nicht verkraften.
Arten von Cheatmodulen
Es gibt eine Vielzahl an Cheatmodulen, die in ihrem Kern ähnlich arbeiten
und sich vor allem durch ihre Funktionsvielfalt unterscheiden. Sie haben
eine lange Geschichte; selbst für Klassiker wie Nintendos SNES und tragbare
Spielhöllen wie den Game Boy sind solche Hilfen erhältlich. Die
Preise liegen, je nach Ausstattung, zwischen 20 bis 100 Mark.
Bei der PlayStation kommt vor allem ein Steckmodul zur Verwendung, das an den Parallelport an der Rückseite eingesetzt wird. Seit der Einführung der 9000er Bauserie im Sommer 1999 hat die PlayStation keinen Port mehr - eine Reaktion auf das Aufkommen von Cheatmodulen, die auch das Verwenden von Raubkopien erlauben. Deswegen bieten einige Hersteller statt eines separaten Geräts eine CD an. Sie muß vor der Spiel-CD eingelegt werden, um das Mogel-Programm in den Speicher zu laden.
Die beiden bekanntesten Schummel-Werkzeuge sind der Gamebuster (alias Action Replay) und der Xploder. Beide gibt es sowohl in Modul-Form wie als CD-Version für die PlayStation und als Modul für das Nintendo 64; der Xploder wird auch für den Game Boy angeboten.
Die meisten Module werden mit einem Archiv von zum Teil mehreren tausend Codes ausgeliefert. Die Codeliste für ein Spiel läßt sich erweitern. Die neuen Daten werden auf dem Flash-ROM des Moduls gespeichert und sind damit dauerhaft verfügbar. Bei den neueren Ausführungen der Geräte auf CD-ROM wird als Code-Speicher eine Memory Card verwendet. Auch Codes für Spiele, die bisher nicht in der Liste eingetragen sind, lassen sich einspeisen. Ein Code besteht aus drei Teilen: einer Beschreibung wie UNENDLICHE LEBEN und dem eigentlichen, zweiteiligen Code, etwa 800EEB40 0041. Die erste (achtstellige) Ziffernfolge steht für die Speicheradresse, die zweite (vierstellige) für den Wert, der in dieser Adresse konstant gehalten werden soll.
Ein Code-Generator, mit dem die teueren Ausführungen ausgerüstet sind, erlaubt das eigenständige Ermitteln von Cheats eines Spiels, das Trainieren. Nehmen wir an, das Ziel soll eine unendliche Anzahl Leben sein. Dafür muß das Modul die Speicherstelle finden, an der die Zahl der Leben abgelegt ist. Folgendermaßen: Der Status des Spiels wird hintereinander mit verschiedenen Leben gespeichert - etwa mit drei, zwei und einem Leben. Das Cheatprogramm vergleicht alle drei Speicherabzüge miteinander, ob es eine Adresse gibt, die beim ersten Mal »3«, beim zweiten Mal eine »2« und beim dritten Mal eine »1« enthält - das ist mit relativ hoher Wahrscheinlichkeit die Speicherstelle, in der die Zahl der Leben abgelegt ist. Zur Sicherheit überprüft das Programm zwei Situationen mit der gleichen Anzahl Leben, wobei der Inhalt der Zelle in beiden Fällen identisch sein sollte. Man spielt also immer ein Stück, gibt dem Trainer ein Signal und legt fest, ob im derzeitigen Status der Wert, um den es geht, erhöht oder erniedrigt wurde oder gleichgeblieben ist. Dieses Spiel läuft so lange, bis die Zahl der verdächtigen Speicherstellen auf 1 reduziert wurde - das dürfte dann mit sehr, sehr hoher Wahrscheinlichkeit die Speicherzelle sein, die die Zahl der Leben speichert. Das Werk ist vollbracht. Nicht immer geht es so leicht. Nicht selten bleiben trotz vieler Versuche mehrere mögliche Speicherzellen übrig. Hier sollte man nach und nach jede Speicherzelle im Spiel ausprobieren. Manchmal hat man keine konkreten Zahlenwerte, sondern kann nur schätzen, zum Beispiel beim Energiebalken eines Prügelspiels. Hier wird ähnlich verfahren, wobei das Modul nur Adressen berücksichtigt, deren Inhalt sich verkleinert oder vergößert. Manchmal funktioniert der Code im ersten Level, aber nicht mehr im zweiten. In diesem Fall muß der Code für jeden Level separat ermittelt werden.
Bei der PlayStation kommt vor allem ein Steckmodul zur Verwendung, das an den Parallelport an der Rückseite eingesetzt wird. Seit der Einführung der 9000er Bauserie im Sommer 1999 hat die PlayStation keinen Port mehr - eine Reaktion auf das Aufkommen von Cheatmodulen, die auch das Verwenden von Raubkopien erlauben. Deswegen bieten einige Hersteller statt eines separaten Geräts eine CD an. Sie muß vor der Spiel-CD eingelegt werden, um das Mogel-Programm in den Speicher zu laden.
Die beiden bekanntesten Schummel-Werkzeuge sind der Gamebuster (alias Action Replay) und der Xploder. Beide gibt es sowohl in Modul-Form wie als CD-Version für die PlayStation und als Modul für das Nintendo 64; der Xploder wird auch für den Game Boy angeboten.
Die meisten Module werden mit einem Archiv von zum Teil mehreren tausend Codes ausgeliefert. Die Codeliste für ein Spiel läßt sich erweitern. Die neuen Daten werden auf dem Flash-ROM des Moduls gespeichert und sind damit dauerhaft verfügbar. Bei den neueren Ausführungen der Geräte auf CD-ROM wird als Code-Speicher eine Memory Card verwendet. Auch Codes für Spiele, die bisher nicht in der Liste eingetragen sind, lassen sich einspeisen. Ein Code besteht aus drei Teilen: einer Beschreibung wie UNENDLICHE LEBEN und dem eigentlichen, zweiteiligen Code, etwa 800EEB40 0041. Die erste (achtstellige) Ziffernfolge steht für die Speicheradresse, die zweite (vierstellige) für den Wert, der in dieser Adresse konstant gehalten werden soll.
Ein Code-Generator, mit dem die teueren Ausführungen ausgerüstet sind, erlaubt das eigenständige Ermitteln von Cheats eines Spiels, das Trainieren. Nehmen wir an, das Ziel soll eine unendliche Anzahl Leben sein. Dafür muß das Modul die Speicherstelle finden, an der die Zahl der Leben abgelegt ist. Folgendermaßen: Der Status des Spiels wird hintereinander mit verschiedenen Leben gespeichert - etwa mit drei, zwei und einem Leben. Das Cheatprogramm vergleicht alle drei Speicherabzüge miteinander, ob es eine Adresse gibt, die beim ersten Mal »3«, beim zweiten Mal eine »2« und beim dritten Mal eine »1« enthält - das ist mit relativ hoher Wahrscheinlichkeit die Speicherstelle, in der die Zahl der Leben abgelegt ist. Zur Sicherheit überprüft das Programm zwei Situationen mit der gleichen Anzahl Leben, wobei der Inhalt der Zelle in beiden Fällen identisch sein sollte. Man spielt also immer ein Stück, gibt dem Trainer ein Signal und legt fest, ob im derzeitigen Status der Wert, um den es geht, erhöht oder erniedrigt wurde oder gleichgeblieben ist. Dieses Spiel läuft so lange, bis die Zahl der verdächtigen Speicherstellen auf 1 reduziert wurde - das dürfte dann mit sehr, sehr hoher Wahrscheinlichkeit die Speicherzelle sein, die die Zahl der Leben speichert. Das Werk ist vollbracht. Nicht immer geht es so leicht. Nicht selten bleiben trotz vieler Versuche mehrere mögliche Speicherzellen übrig. Hier sollte man nach und nach jede Speicherzelle im Spiel ausprobieren. Manchmal hat man keine konkreten Zahlenwerte, sondern kann nur schätzen, zum Beispiel beim Energiebalken eines Prügelspiels. Hier wird ähnlich verfahren, wobei das Modul nur Adressen berücksichtigt, deren Inhalt sich verkleinert oder vergößert. Manchmal funktioniert der Code im ersten Level, aber nicht mehr im zweiten. In diesem Fall muß der Code für jeden Level separat ermittelt werden.
Das können Cheatmodule noch
Einige Cheatmodule bieten Hilfsmittel, um Spiele nach Abbildungen, Videos
und/oder Sounds zu durchsuchen; die Fundstellen können dann nach und
nach angezeigt werden. Bei Modulen CD-basierter Konsolen ist außerdem
eine CD-Player-Funktion an Bord. Eine Reihe von Modulen bietet zusätzlichen
Speicherplatz für das Aufnehmen von Spielständen.
Ein gutes Cheatmodul läßt sich über ein Kabel mit einem PC verbinden. Das eröffnet eine Vielzahl von Möglichkeiten: Spielstände lassen sich im PC-Speicher weitaus preiswerter aufbewahren und per E-Mail versenden. Das Modul kann um neue Versionen und Cheats ergänzt werden; umgekehrt ist es möglich, Bildschirmfotos und Sounds zum PCs zu übertragen dort zu bearbeiten.
Für Fortgeschrittene gedacht ist der Speicher-Editor. Hier wird jede Speicherzelle mit ihrer Adresse und ihrem Wert (im Hex- und ASCII-Code) dargestellt; der Eintrag läßt sich ändern. Diese Funktion ist nützlich, um weitere Cheats herauszufinden: Üblicherweise werden die Informationen zum Beispiel über mitgeführte Gegenstände oder freigeschaltete Charaktere in benachbarten Speicherzellen aufbewahrt.
Für den PC gibt es ähnliche Hilfsmittel in Form von Programmen, die sich aber nur in Insider-Kreisen durchgesetzt haben. Verbreiteter sind sogenannte Trainer für jeweils ein Spiel. Diese Werkzeuge werden parallel zum auszutricksenden Programm in den Speicher geladen und unterstützen mit Schummelfunktion, die sich zum Teil durch Tastendrücke auf Wunsch aktivieren lassen.
Ein gutes Cheatmodul läßt sich über ein Kabel mit einem PC verbinden. Das eröffnet eine Vielzahl von Möglichkeiten: Spielstände lassen sich im PC-Speicher weitaus preiswerter aufbewahren und per E-Mail versenden. Das Modul kann um neue Versionen und Cheats ergänzt werden; umgekehrt ist es möglich, Bildschirmfotos und Sounds zum PCs zu übertragen dort zu bearbeiten.
Für Fortgeschrittene gedacht ist der Speicher-Editor. Hier wird jede Speicherzelle mit ihrer Adresse und ihrem Wert (im Hex- und ASCII-Code) dargestellt; der Eintrag läßt sich ändern. Diese Funktion ist nützlich, um weitere Cheats herauszufinden: Üblicherweise werden die Informationen zum Beispiel über mitgeführte Gegenstände oder freigeschaltete Charaktere in benachbarten Speicherzellen aufbewahrt.
Für den PC gibt es ähnliche Hilfsmittel in Form von Programmen, die sich aber nur in Insider-Kreisen durchgesetzt haben. Verbreiteter sind sogenannte Trainer für jeweils ein Spiel. Diese Werkzeuge werden parallel zum auszutricksenden Programm in den Speicher geladen und unterstützen mit Schummelfunktion, die sich zum Teil durch Tastendrücke auf Wunsch aktivieren lassen.