Rom hacken

Das ROM-Hacking ist der Prozess, ein ROM-Bild aus einem Videospiel zu modifizieren , um seine Grafiken, seine Dialoge, Level, sein Gameplay oder andere Elemente zu ändern . Dies wird normalerweise von Videospiel-Fans gemacht, die über die technischen Fähigkeiten verfügen, einem alten Spiel, nach dem sie sich sehnen, neues Leben einzuhauchen, als kreative Variation oder inoffizielle Spiele zu erstellen, und zwar um dessen willen Spiel-Engine.

Das Hacking- ROM wird im Allgemeinen mit einem Hex-Editor (einer Software zum Ändern von nicht-textuellen Daten) und verschiedenen spezifischen Werkzeugen wie Kachel-Editoren und spielspezifischen Werkzeugen ausgeführt, die hauptsächlich dazu dienen, Levels, Objekte usw. zu ändern, obwohl mehr Gelegentlich werden fortschrittliche Tools wie Assemblersprache und Debugger verwendet. Nach Abschluss die am häufigsten über das Internet verteilten Hacks, damit andere mit einem Emulator spielen können .

Die Amateurübersetzung ist eine Art Hacking-ROM; Es gibt auch Anti-Zensur-Hacks, deren Zweck es ist, ein Spiel in seinen ursprünglichen Zustand zurückzusetzen. Dies ist regelmäßig bei älteren Spielen zu beobachten, die während des Importvorgangs aufgrund der in den USA viel strengeren Inhaltsrichtlinie des Herausgebers (insbesondere von Nintendo ) für Videospiele zensiert wurden als in Japan oder Europa. Obwohl die Methodik für beide Arten des Hackens gilt, konzentriert sich dieser Artikel auf das „kreative Hacken“, wie das Bearbeiten der Level eines Spiels.

Gemeinschaften

Viele ROM Hacker bilden oder Gruppen beitreten aus verschiedenen Gründen, wie zum Beispiel einen gemeinsamen Online - Raum zu teilen Hacks oder Screenshots einrichten, zu gewinnen Unterstützung oder Zusammenarbeit von anderen Gruppenmitgliedern., Für eine privilegierten Status auf der Gruppe Foren (falls zutreffend), für die Prestige, das mit der Gruppe verbunden ist, oder einfach nur für Kameradschaft. Viele Hacker entscheiden sich jedoch für den Solobetrieb. Nicht alle Mitglieder einer bestimmten Gruppe sind notwendigerweise selbst Hacker; einige sind "im Ruhestand", andere bieten Webentwicklungs- und / oder Forenverwaltungsdienste an, und einige bieten einfach an, aufstrebende Hacker zu leiten.

Die meisten Hacking-Gruppen bieten einen Online-Bereich zum Hosten von Hacks und Screenshots (manchmal nur von Gruppenmitgliedern durchgeführte Hacks, manchmal fast jeden Hack), ein Forum und oft einen IRC- Kanal .

Methodik

Die Daten im ROM, die von vielen verschiedenen Programmierern oder Programmierteams erstellt wurden, können stark variieren.

Hexadezimale Ausgabe

Ein Hex-Editor ist eines der grundlegenden Werkzeuge im Toolkit eines jeden ROM-Hackers. Hex-Editoren werden normalerweise zum Bearbeiten von Text und anderen Daten bekannter Struktur (z. B. Objekteigenschaften) und zum Hacken von Baugruppen verwendet .

Das Bearbeiten von Text ist eine der grundlegendsten Formen des Hackens. Viele Spiele speichern ihre Texte nicht im ASCII- Format , daher wurden speziell einige Hex-Editoren entwickelt, die angeben , welcher Byte- Wert welchem ​​Buchstaben des Alphabets entspricht, um die Bearbeitung des Textes zu erleichtern; eine Datei, die diese Byte = Buchstaben-Beziehungen festlegt, wird als "Tabellen"-Datei bezeichnet. Andere Spiele verwenden einfache Textkompressionstechniken (wie die Byte-Paar-Kodierung, auch bekannt als DTE- Dual-Tile-Kodierung , bei der bestimmte Kombinationen von zwei oder mehr Buchstaben in ein einzelnes Byte kodiert werden), die ein geeigneter hexadezimaler Editor die Modifikation erleichtern kann.

Ein hexadezimaler Editor ist das Werkzeug der Wahl, um die Eigenschaften eines Charakters / Objekts zu ändern, wenn die Struktur und der Ort dieser Daten bekannt sind und kein spielspezifischer Editor vorhanden ist, um diese Daten zu ändern. Einige rücksichtslose Hacker führen auch Level-Editing mit einem Hex-Editor durch, aber das ist extrem schwierig (außer bei Spielen, deren Level-Speicherformat sehr ähnlich ist, wie es im Hex-Editor präsentiert wird).

Grafikbearbeitung

Eine weitere grundlegende Hacking-Fähigkeit ist das Grafik-Hacking, bei dem das Erscheinungsbild von Spielelementen wie Umgebung, Zeichen, Schriftarten und mehr geändert wird. Das Grafikdatenformat variiert von Konsole zu Konsole, aber die meisten älteren (NES, Super NES, Game Boy usw.) speichern Grafiken in Kacheln , die 8x8- Pixel- Dateneinheiten sind erwünschtes Ergebnis. Das Bearbeiten dieser Kacheln ist auch mit einem Hex-Editor möglich, aber einfacher ist es, einen Kachel-Editor (wie Tile Layer oder Tile Molester ) zu verwenden, der ROM-Daten grafisch anzeigen und bearbeiten kann.

Grafik-Hacks können von leichten Modifikationen reichen (wie Mario eine Afro-Frisur zu geben ) über das „ Tragen “ von Charakteren von einem Spiel zum anderen bis hin zu kompletten visuellen Themenänderungen (normalerweise begleitet von Palettenänderungen; siehe unten).

Weiteres Grafik-Hacking beinhaltet mehr als eine Änderung der Kacheln und Farben, das Ändern der Anordnung der Kacheln oder der generierten Kachelgruppen, was mehr Flexibilität und Kontrolle über das endgültige Rendering bietet. Dies wird durch Hex-Editing oder ein spezielles Tool (für das Spiel oder ein System) erreicht. Ein gutes Beispiel für einen grafischen Hack ist der unvollendete Pokémon Torzach, ein Hack, der versucht hat, dem Spiel eine ganze Generation von Pokémon und zugehörigen Kacheln hinzuzufügen. Der Hack wurde inzwischen aufgegeben, dient aber immer noch als gutes Beispiel dafür, was mit den verfügbaren Tools erreicht werden kann.

Palettenbearbeitung

Eine weitere beliebte Form des Hackens ist das Paletten-Hacking , bei dem die Farbwerte geändert werden, um die Farben zu ändern, die der Spieler im Spiel sieht (was oft mit der Bearbeitung von Grafiken einhergeht ); Palettenwerte werden üblicherweise hexadezimal gespeichert . Dies ist bei NES- Spielen sehr einfach , deren Grafiken einen vordefinierten Satz von Farben verwenden, aus denen das Spiel eine Auswahl trifft ; In diesem Fall entspricht das Hacken der Palette dem Ändern, welche dieser Farben ausgewählt wird. Etwas komplizierter wird es bei Super Nintendo- Spielen oder anderen Systemen, die absolute RGB- Werte von Farben speichern . Paletteneditoren sind im Allgemeinen unkompliziert und werden mit Level-Editoren oder spielspezifischen Grafikeditoren geliefert.

Level bearbeiten

Eine der beliebtesten Formen des ROM-Hackings, das Level-Editing, beinhaltet das Modifizieren oder Umgestalten der Levels oder Maps eines Spiels.Dies geschieht fast ausschließlich mit einem auf Ihre Bedürfnisse zugeschnittenen Editor eines bestimmten Spiels (genannt Level- Editor ). Level-Bearbeitungen können vorgenommen werden, um das Spiel schwieriger zu machen, die Handlung des Spiels zu ändern oder einfach nur etwas Neues zu einem alten Spiel hinzuzufügen. Zusammen mit dem vollständigen Grafik-Hacking kann das Spiel das Aussehen und das Spielgefühl dramatisch verändern.

Datenbearbeitung

Ein zentrales Element vieler Hacks (insbesondere RPGs ) ist das Modifizieren von Daten wie Eigenschaften von Charakteren, Gegenständen und Feinden. Dies geschieht in der Regel entweder "von Hand" (mit einem Hex-Editor), wenn Ort und Struktur der Daten bekannt sind, oder mit einem spielspezifischen Editor, der diese Funktionalität bietet. Von dieser Marnière aus kann ein Hacker die Funktionsweise von Waffen, die Stärke oder das Verhalten von Feinden usw. ändern. Das Ziel kann darin bestehen, das Spiel einfacher oder schwieriger zu gestalten oder sogar neue Szenarien für den Spieler zu schaffen.

Montage-Hacking

Die mächtigste und wohl schwierigste Hacking-Technik ist die Modifikation des Spielcodes selbst, ein Prozess namens ASM-Hacking ("ASM" bedeutet " Assembly " und bezieht sich auf die Art der Programmiersprache, die für Spiele verwendet wird. ältere Konsolen). Es gibt keine Standardmethode für ASM-Hacking, da der Code von Spiel zu Spiel sehr unterschiedlich ist, aber die meisten erfahrenen ASM-Hacker können entweder einen Emulator mit integriertem Debugger oder Tracer verwenden oder das ROM mit einem Disassembler durchsuchen , dann den Code analysieren und modifizieren Sie es nach Bedarf mit einem Hex-Editor oder einem Assembler-Editor. Während dies im Vergleich zu den oben aufgeführten relativ einfachen Methoden eine große Herausforderung darstellt, ist mit ASM-Hacking praktisch "alles" möglich (natürlich im Rahmen der Hard-/Software-Fähigkeiten der Spieleplattform), angefangen von der Modifikation durch künstliche Intelligenz von Feinden die Art und Weise, wie Grafiken erstellt werden, zu ändern. (Natürlich sind die Möglichkeiten jedoch durch die Fähigkeit des Hackers begrenzt, bestehenden Code zu verstehen und zu modifizieren.)

Wenn die Entwickler eine typisierte Sprache verwendet haben , kann der Hacker möglicherweise seinen eigenen Code für das Spiel in derselben Sprache kompilieren, wenn er Zugriff auf einen geeigneten Compiler hat. Ein solches Beispiel wäre C mit Hack Nintendo 64 - Spiele , da MIPS - GCC - Code für den Nintendo 64 zusammenstellen können.

Musik-Hacking

Musikhacks sind relativ selten, da Musikdaten in Spielen sehr unterschiedlich gespeichert werden (daher die Schwierigkeit, diese Daten zu finden und zu ändern) und Schwierigkeiten beim Komponieren neuer Musik (oder beim Tragen von Musik) Musik aus einem anderen Spiel). Da das Knacken von Musik sehr selten ist, enthalten viele Hacks keine Notenzeilen / komponierte Musik. Die SapTapper-Software kann jedoch verwendet werden, um die Musikdaten des Gameboy Advance zu hacken, viele Gameboy Advance-Spiele verwenden die M4A-Engine (auch Sappy Driver genannt ) für Musik.

Die häufigste Form des Musik-Hackings ist die Portierung von Musik von einem ROM auf ein anderes, die normalerweise beide von derselben Firma stammen. Das Übertragen von Musik zwischen zwei ROMs wird fast immer ein Problem darstellen, da das Format fast immer unterschiedlich ist. Ein gutes Beispiel für Musik-Hacking wäre der unvollständige Pokémon: The Legendary Ashes-Hack.

Bei einigen Spielen wurden die Musikdaten jedoch zu 100% geknackt, zum Beispiel Final Fantasy VI und Super Mario World auf SNES. Mit Kompositionstools, die beispielsweise MML ( Music Macro Language ) verwenden, ist es möglich, Midis-Dateien in spielkompatible Musikdaten umzuwandeln oder eigene Kompositionen zu erstellen. Ein Beispiel für solche Möglichkeiten ist der Hack von Final Fantasy VI Return of the Dark Sorcerer, der über 250 Songs enthält.

ROM-Erweiterung

Grundsätzlich kann ein ROM-Hacker kaum Inhalte zu einem Spiel hinzufügen , sondern nur vorhandene Inhalte modifizieren , wobei ROMs wenig oder keinen leeren Platz haben. Diese Einschränkung kann durch ROM-Erweiterung überwunden werden , wodurch die Gesamtgröße des ROM-Images erhöht wird, wodurch Platz für mehr Inhalte und ein größeres Spiel geschaffen wird. Der Schwierigkeitsgrad variiert je nach System, für das das Spiel entwickelt wurde. Zum Beispiel kann das Erweitern eines NES-ROM aufgrund des vom Spiel verwendeten Speicherverwaltungscontrollers (oder der Karte auf Englisch) schwierig oder unmöglich sein.Wenn ein Controller beispielsweise 16 ROM-Bänke zulässt und alle verwendet werden, wird die Erweiterung weiter ausgebaut das ROM ist unmöglich, ohne das Spiel irgendwie auf einen anderen Controller zu konvertieren, was einfach oder fast überwältigend sein könnte. Andererseits ist das Erweitern eines Super Nintendo-Spiels (fast) ein Routinevorgang. Um den zusätzlichen Platz zu nutzen, müssen Teile des Spiels bearbeitet oder neu geschrieben werden (siehe Assembly Hacking oben), damit das Spiel weiß, wo es nach den neuen Informationen suchen muss. Game Boy Advance-Spiele gelten im Allgemeinen als am einfachsten zu erweitern.

Verteilung

Sobald ein Hack abgeschlossen ist (oder eine unvollständige Version für eine vorübergehende Veröffentlichung als geeignet erachtet wird), wird er im Internet veröffentlicht, damit andere spielen können. Der übliche Weg, dies zu tun, besteht darin, einen Patch (in IPS oder einem anderen Format) zu erstellen, der auf das unveränderte ROM angewendet werden kann. Diese wird mit einigen Dokumentationen in einem Archiv zusammengestellt und irgendwo hochgeladen. IPS ist ein Format zum Aufzeichnen der Unterschiede zwischen zwei Binärdateien (in diesem Fall zwischen unmodifiziertem ROM und gehacktem ROM) und das für ROM-Hacks geeignet ist. IPS wird heute noch für kleine Patches verwendet; Als jedoch die ROMs wuchsen, zeigte dieses Format seine Grenzen, was zur Erstellung einer Reihe von Dateiformaten wie NINJA und PPF (" PlayStation Patch Format") führte. PPF wird auch heute noch verwendet, insbesondere zum Patchen großer Dateien wie ISO-CD-Images und Nintendo 64- Spielen . Ein neues Patch-Format, UPS, wurde ebenfalls von der ROM-Hacking-Community entwickelt, das als Nachfolger von IPS und PPF konzipiert wurde. Ein neueres Patch-Format, das APS-Patchsystem , wurde ebenfalls von einem auf Game Boy Advance spezialisierten ROM-Hacker entwickelt. Das APS-System ist platzsparender, reversibel und schneller als seine Vorgänger.

Das Ziel der Verbreitung eines Hacks als Patch besteht darin, die rechtlichen Nachteile der Verbreitung von vollständigen ROM-Images zu vermeiden; Der Patch speichert nur, was sich im ROM geändert hat , sodass durch seine Verteilung keine Original-Spielgegenstände verteilt werden. Ein Patch ist auch kleiner als das gesamte ROM-Image (NES ROM kann zwischen 40  KB und 512  KB groß sein  , ein ROM SNES kann zwischen 256  KB und 6  Mio. sein ). Die Verwendung von Patches beseitigt jedoch nicht Urheberrechtsprobleme, da die Patches als abgeleitete Werke betrachtet werden können  ; Unternehmen ignorieren sie jedoch normalerweise, bis sie mit den ROMs veröffentlicht werden.

Systeme und Spiele

Die meisten ROM-Hackings werden auf NES- und Super Nintendo-Spielen durchgeführt , die im Vergleich zu fortgeschritteneren Konsolenspielen wie dem Nintendo 64 klein und einfach sind . Game Boy- Spiele sind auch zum Hacken beliebt, ebenso wie Mega Drive- Spiele in geringerem Maße. Aber die neueren Konsolenspiele sind keineswegs sicher vor Hackern, und tatsächlich können wir mit immer leistungsfähigeren Computern und immer zahlreicheren Tools erwarten, dass mehr Hacks für die PlayStation und den Nintendo 64 auftauchen .

Beliebte Spiele zum Glücksspiel sind beliebte Spiele zum Hacken; Viele Hacks wurden für Sonic , Super Mario Bros. Spiele/Serien veröffentlicht . , Pokémon , Chip's Challenge , Super Mario World , Final Fantasy , Chrono Trigger , The Legend of Zelda , Megaman , Fire Emblem , EarthBound , Super Mario 64 und viele mehr.

Quellen

  1. Wörterbuch der ROMhacking-Begriffe .
  2. (in) "  vg64tools - Project Hosting on Google Code  " , Code.google.com (Zugriff am 9. September 2009 )
  3. (in) "  Super Mario 64: Pong Of Death (Messiaen)  " , Sites.google.com (Zugriff am 9. September 2009 )
  4. (in) „  Return of the Dark Sorcerer Tracklist  “ (Zugriff am 14. Dezember 2018 )
  5. Neues Patching-Format UPS kommt heute auf den Markt
  6. Neuestes Patch-Format, APS, kürzlich veröffentlicht

Siehe auch

Externe Links