Hack rom

ROM hacking je proces modifikovat ROM obrazu z videohry s cílem změnit jeho grafiku, jeho dialogy, úrovně, jeho herní nebo jiné prvky. To obvykle dělají fanoušci videoher, kteří mají technické dovednosti vdechnout nový život staré hře, po které nostalgii, jako kreativní variaci, nebo vytvářet neoficiální hry a kvůli tomu. „Nové“ základy opětovným použitím staré herní engine.

Hackování ROM se obvykle provádí pomocí editoru hex (tento software ke změně jiných než textových dat) a různé konkrétní nástroje, jako jsou obklady editorů a nástrojů specifických pro danou hru, které slouží především k úpravě hladiny, objekty, atd, ačkoli více příležitostně se používají pokročilé nástroje, jako je montážní jazyk a debuggery . Po dokončení jsou nejčastěji distribuované hacky přes internet, aby ostatní mohli hrát pomocí emulátoru .

Amatérský překlad je druh o vniknutí do systému ROM; existují také proticenzorové hackery, jejichž účelem je obnovit hru do původního stavu. To je pravidelně vidět na starších hrách, které byly během procesu importu cenzurovány kvůli obsahové politice vydavatele (zejména Nintendo ) pro videohry, která byla ve Spojených státech mnohem přísnější než v Japonsku nebo Evropě. Ačkoli se metodika vztahuje na oba typy hackerství, tento článek se zaměřuje na „kreativní hacking“, jako je úprava úrovní hry.

Společenství

Mnoho ROM hackerů vytváří nebo se připojuje ke skupinám z různých důvodů, jako je například vytvoření společného online prostoru pro sdílení hacků nebo screenshotů, získání podpory nebo spolupráce od ostatních členů skupiny., Pro privilegovaný stav ve fóru skupiny (pokud existuje), pro prestiž spojená se skupinou, nebo jen pro kamarádství. Mnoho hackerů se však rozhodlo pracovat samostatně. Ne všichni členové dané skupiny jsou nutně hackeři sami; některé mají „odchod do důchodu“, jiné nabízejí vývoj webových aplikací a / nebo služby správy fóra a některé nabízejí pouze průvodce začínajícím hackerům.

Většina hackerských skupin nabízí online prostor pro hostování hacků a screenshotů (někdy pouze hostování hacků prováděných členy skupiny, někdy hostování téměř všech hacků), fórum a často mají IRC kanál .

Metodologie

Data v paměti ROM, která vytvořila řada různých programátorů nebo programovacích týmů, se mohou velmi lišit.

Šestnáctkové vydání

Hex editor je jedním ze základních nástrojů v sadě nástrojů jakéhokoli ROM hackera. Hex editory se obvykle používají k úpravám textu a dalších dat známé struktury (např. Vlastnosti objektu) a hackování sestavení .

Úpravy textu jsou jednou z nejzákladnějších forem hackování. Mnoho her neukládá své texty ve formátu ASCII , proto byly speciálně vyvinuty některé hexadecimální editory, které říkají, která hodnota bajtu odpovídá kterému písmenu abecedy, což usnadňuje úpravy textu; soubor, který určuje tyto vztahy byte = dopis, se nazývá soubor „tabulka“. Jiné hry používají jednoduché techniky komprese textu (například kódování bajtových párů, známé také jako DTE - kódování dvou dlaždic , kde jsou určité kombinace dvou nebo více písmen kódovány do jednoho bajtu), což může vhodný hexadecimální editor usnadnit.

Hexadecimální editor je nástroj volby k úpravě vlastností postavy / objektu, pokud je známá struktura a umístění těchto dat a pokud neexistuje žádný editor specifický pro hru, který by tato data upravoval. Někteří bezohlední hackeři také provádějí úpravy úrovní pomocí hexadecimálního editoru, což je však extrémně obtížné (kromě her, jejichž formát úložiště úrovní se velmi podobá tomu, jak je prezentován v hexadecimálním editoru).

Úpravy grafiky

Další základní hackerskou dovedností je hacking grafiky, který zahrnuje změnu vzhledu herních prvků, jako je prostředí, postavy, písma a další. Formát grafických dat se u jednotlivých konzol liší, ale většina starších (NES, Super NES, Game Boy atd.) Ukládá grafiku do dlaždic , což jsou datové jednotky 8x8 pixelů . A jsou uspořádány na obrazovce tak, aby vytvářely kýžený výsledek. Úpravy těchto dlaždic je také možné pomocí hexadecimálního editoru, ale je jednodušší použít editor dlaždic (například Tile Layer nebo Tile Molester ), který dokáže graficky zobrazit data ROM a také je upravit.

Grafické hacky může pohybovat od mírných úprav (jako dávat Mario afro účes ) na „ sobě “ postavy z jedné hry do druhé, k dokončení vizuální změny motivu (obvykle doprovázené změnou palety, viz dále níže).

Další hackování grafiky zahrnuje více než změnu dlaždic a barev, změnu způsobu jejich rozložení nebo generování skupin dlaždic, což poskytuje větší flexibilitu a kontrolu nad konečným vykreslením. Toho je dosaženo hexadecimální úpravou nebo specializovaným nástrojem (pro hru nebo systém). Dobrým příkladem grafického hacku je nedokončený Pokémon Torzach, hack, který se pokusil přidat do hry celou generaci Pokémonů a souvisejících dlaždic. Hack byl od té doby opuštěn, ale stále slouží jako dobrý příklad toho, čeho lze dosáhnout dostupnými nástroji.

Úpravy palet

Další populární formou hackerství je hacking na paletě , kde se mění barevné hodnoty, aby se změnily barvy, které hráč vidí ve hře (což často jde ruku v ruce s editací grafiky ); Hodnoty palety jsou běžně ukládány v hexadecimálním formátu . To je velmi snadné pro hry NES , jejichž grafika používá předdefinovanou sadu barev, ze kterých hra vybírá; v tomto případě hacking palety odpovídá změně, která z těchto barev je vybrána. Věci se trochu komplikují s hrami Super Nintendo nebo jinými systémy, které ukládají absolutní hodnoty RGB barev. Editory palet jsou obecně jednoduché a přicházejí s editory úrovní nebo grafickými editory specifickými pro hru.

Úprava úrovně

Jedna z nejpopulárnějších forem hackování ROM, úprava úrovní zahrnuje úpravu nebo přepracování úrovní nebo map hry. To se téměř výlučně provádí pomocí editoru přizpůsobeného vašim potřebám. Konkrétní hra (tzv. Editor úrovní ). Úpravy na úrovni lze provést tak, aby byla hra obtížnější, aby se změnil děj hry, nebo jen aby se do staré hry přidalo něco nového. Spolu s úplným grafickým hackováním se hra může dramaticky změnit. Vzhled a dojem ze hry.

Úpravy dat

Ústředním prvkem mnoha hacků (zejména RPG ) je úprava dat, jako jsou vlastnosti postav, předmětů a nepřátel. To se obvykle provádí buď „ručně“ (pomocí hexadecimálního editoru), pokud je známo umístění a struktura dat, nebo pomocí editoru specifického pro hru, který tuto funkci nabízí. Z této hry může hacker změnit fungování zbraní, sílu nebo chování nepřátel atd. Cílem může být snazší nebo obtížnější hra, nebo dokonce vytvořit nové scénáře, kterými hráč projde.

Hackování na shromáždění

Nejsilnější a pravděpodobně nejobtížnější hackerskou technikou je úprava samotného herního kódu, což je proces zvaný ASM hacking („ASM“, což znamená „ montáž “, odkazující na typ programovacího jazyka používaného pro hry. Starší konzoly). Neexistuje žádná standardní metoda pro hackování ASM, protože kód se velmi liší od hry ke hře, ale nejzkušenější hackeři ASM mohou buď použít emulátor s vestavěným debuggerem nebo stopovačem, nebo procházet ROM pomocí disassemblera , poté analyzovat kód a podle potřeby jej upravte pomocí hexadecimálního editoru nebo editoru assembleru. I když to představuje velkou výzvu ve srovnání s relativně jednoduchými metodami uvedenými výše, s ASM hackingem (samozřejmě v mezích hardwarových / softwarových možností herní platformy) je prakticky možné „cokoli“, od úpravy od umělé inteligence nepřátel ke změně způsobu generování grafiky. (Možnosti jsou samozřejmě omezeny schopností hackera porozumět a upravit existující kód.)

Pokud vývojáři použili zadaný jazyk , mohl by hacker zkompilovat vlastní kód pro hru ve stejném jazyce, pokud mají přístup k vhodnému kompilátoru. Jedním z takových příkladů by bylo použití C k hacknutí her pro Nintendo 64 , protože MIPS - GCC může kompilovat kód pro Nintendo 64.

Hackování hudby

Hudební hacky jsou relativně vzácné, kvůli široké škále způsobů, jakými jsou hudební data ukládána ve hrách (tedy potíže s vyhledáním a úpravou těchto dat) a kvůli potížím při skládání nové hudby (nebo při nošení hudby). Hudba z jiné hry). Protože crackování hudby je velmi neobvyklé, mnoho hacků nezahrnuje roubenou / komponovanou hudbu. Software SapTapper však lze použít k hacknutí hudebních dat Gameboy Advance, mnoho her Gameboy Advance využívajících pro hudbu motor M4A (také nazývaný Sappy Driver ).

Nejběžnější formou hudebního hackingu je přenos hudby z jedné ROM do druhé, obojí obvykle provádí stejná společnost. Přenášení hudby mezi dvěma ROM bude téměř vždy představovat nějaký problém, formát bude téměř vždy odlišný. Dobrým příkladem hackování hudby by byl neúplný hack Pokémon: The Legendary Ashes.

U některých her však byla hudební data prolomena na 100%, například Final Fantasy VI a Super Mario World na SNES. S nástroji pro tvorbu skladeb, například MML ( Music Macro Language ), je možné převádět soubory midis na hudební data kompatibilní s hrou nebo vytvářet originální skladby. Příkladem takových možností je hack Final Fantasy VI Return of the Dark Sorcerer, který obsahuje přes 250 skladeb.

Rozšíření ROM

V zásadě může hacker ROM jen stěží přidat obsah do hry, ale pouze upravit existující obsah, přičemž ROM mají málo nebo žádné prázdné místo. Toto omezení lze překonat rozšířením ROM , čímž se zvětší celková velikost obrazu ROM, čímž se vytvoří prostor pro více obsahu a větší hru. Obtížnost se liší v závislosti na systému, pro který byla hra vyrobena. Například rozšíření paměti NES ROM může být obtížné nebo nemožné kvůli ovladači správy paměti (nebo mapě v angličtině), který hra používá. Například pokud ovladač umožňuje 16 bank ROM a všechny jsou používány, další rozšiřování ROM je nemožný, aniž by se hra nějakým způsobem převedla na jiný řadič, což by mohlo být snadné nebo téměř ohromující. Na druhou stranu je rozšíření hry Super Nintendo (téměř) rutinní operace. Chcete-li využít další prostor, musí být části hry upraveny nebo přepsány (viz shromáždění Hacking výše), aby hra věděla, kde hledat nové informace. Hry Game Boy Advance se obecně považují za nejjednodušší rozšíření.

Rozdělení

Jakmile je hack dokončen (nebo je neúplná verze považována za vhodnou k dočasnému vydání), je zveřejněn na internetu pro ostatní. Obvyklým způsobem je vytvořit opravu (v IPS nebo jiném formátu), kterou lze použít na nemodifikovanou ROM. To je spojeno s nějakou dokumentací v archivu a někde nahráno. IPS je formát pro zaznamenávání rozdílů mezi dvěma binárními soubory (v tomto případě mezi nemodifikovanou ROM a hacknutou ROM) a je vhodný pro hackování ROM. IPS se dodnes používá pro malé opravy; s růstem ROM však tento formát ukázal své limity, což vedlo k vytvoření řady formátů souborů, například NINJA a PPF („ PlayStation Patch Format“). PPF se dodnes používá, zejména pro opravy velkých souborů, jako jsou obrázky ISO CD a hry Nintendo 64 . Komunita hackerů ROM také vyvinula nový formát opravy, UPS, který má být nástupcem IPS a PPF. Novější formát opravy, systém oprav APS , vyvinul také hacker ROM specializující se na Game Boy Advance. Systém APS je prostorově efektivnější, reverzibilní a je rychlejší než jeho předchůdci.

Cílem distribuce hacku jako opravy je vyhnout se právním nevýhodám distribuce obrazů plné ROM; oprava uloží pouze to, co se změnilo v ROM, takže její distribuce nerozdává původní herní předměty. Oprava je také menší než celý obraz ROM (NES ROM může být mezi  40KiB a  512KiB  ; Super Nintendo ROM může být mezi  256KiB a  6MB ). Použití oprav však nevylučuje problémy s autorskými právy, protože opravy lze považovat za odvozená díla  ; společnosti je však obvykle ignorují, dokud nebudou vydány s ROM.

Systémy a hry

Většina hackerů ROM se provádí na hrách NES a Super Nintendo , které jsou malé a jednoduché ve srovnání s pokročilejšími konzolovými hrami, jako je Nintendo 64 . Game Boy hry jsou také populární pro hackování, jako jsou hrozně řídit hry v menší míře. Ale v žádném případě nejsou novější konzolové hry v bezpečí před hackerstvím, a jelikož se počítače stávají výkonnějšími a počet nástrojů roste, můžeme očekávat, že se objeví další hacky pro PlayStation a Nintendo 64 .

Populární hry pro hazardní hry jsou populární hry pro hackování; Bylo vydáno mnoho hacků pro hry / série Sonic , Super Mario Bros. , Pokémon , Chip's Challenge , Super Mario World , Final Fantasy , Chrono Trigger , The Legend of Zelda , Megaman , Fire Emblem , EarthBound , Super Mario 64 a mnoho dalších.

Zdroje

  1. Slovník pojmů ROMhacking .
  2. (in) „  vg64tools - Project Hosting on Google Code  “ , Code.google.com (zpřístupněno 9. září 2009 )
  3. (in) „  Super Mario 64: Pong Of Death (Messiaen)  “ , Sites.google.com (přístup dne 9. září 2009 )
  4. (in) „  Track of Dark Sorcerer tracklist  “ (zpřístupněno 14. prosince 2018 )
  5. Nový formát opravy, UPS, dnes debutuje
  6. Nejnovější formát opravy, APS, nedávno vydané

Podívejte se také

externí odkazy