Взлом ПЗУ

редактировать
Техника редактирования видеоигры

Взлом ПЗУ - это процесс изменения образа ПЗУ или файла ПЗУ видеоигры для изменения графики, диалогов, уровней, игрового процесса и / или других элементов игры. Обычно это делают технически подкованные фанаты видеоигр, чтобы вдохнуть новую жизнь в заветную старую игру в качестве творческой отдушины или для создания принципиально новых неофициальных игр с использованием движка старой игры.

ROM взлом обычно осуществляется с помощью (программы для редактирования нетекстовых данных) и различных специализированных инструментов, таких как редакторы tile и специфичные для игры инструменты, которые обычно используются для редактирования уровней, элементов и т.п., хотя иногда используются более продвинутые инструменты, такие как ассемблеры и отладчики. Когда они будут готовы, они обычно распространяются в Интернете, чтобы другие могли играть на эмуляторе или игровой консоли.

Перевод фанатов (известный как «взлом перевода » в сообществе хакеров ПЗУ) - это тип взлома ПЗУ; Существуют также приемы защиты от цензуры, которые используются для восстановления игры в исходное состояние, что часто наблюдается в более старых играх, которые были импортированы, в качестве политики издателей в отношении контента для видеоигр (в первую очередь, Nintendo ).) были намного строже в Соединенных Штатах, чем в Японии или Европе, есть также рандомизаторы, которые перемешивают размещение объектов. Хотя большая часть метода применима к обоим типам взлома, в этой статье основное внимание уделяется «творческому взлому», например редактированию уровней игры.

Содержание
  • 1 Сообщества
  • 2 Методы
    • 2.1 Шестнадцатеричное редактирование
    • 2.2 Редактирование графики
    • 2.3 Редактирование палитры
    • 2.4 Редактирование уровней
    • 2.5 Редактирование данных
    • 2.6 Взлом сборки
    • 2.7 Взлом музыки
    • 2.8 Расширение ПЗУ
  • 3 Распространение
  • 4 Использование
  • 5 Системы и игры
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки
Сообщества

Большинство хакерских групп предлагают веб-пространство для размещения взломов и снимков экрана (иногда только размещение взломов от членов группы, иногда размещение почти любого взлома), доску сообщений и часто имеют канал IRC.

Методы

Созданные многими разными программистами или командами программистов, данные ROM могут быть очень разными.

Шестнадцатеричное редактирование

A - один из самых фундаментальных инструментов в репертуаре любого ROM-хакера. Шестнадцатеричные редакторы обычно используются для редактирования текста, а также для редактирования других данных, структура которых известна (например, свойств элемента), и Взлом сборки.

Редактирование текста - одна из самых основных форм взлома. Многие игры не хранят свой текст в форме ASCII, и по этой причине были разработаны некоторые специализированные шестнадцатеричные редакторы, которые могут сказать, какие значения байтов соответствуют какой букве (буквам) алфавита, чтобы облегчить редактирование текста; файл, который определяет эти отношения байт = буква, называется "табличным" файлом. В других играх используются простые методы сжатия текста (такие как кодирование пар байтов, также называемое кодированием двух фрагментов или DTE, в котором определенные комбинации двух или более букв кодируются как один байт), которые Правильно оборудованный шестнадцатеричный редактор может облегчить редактирование.

Шестнадцатеричный редактор - это предпочтительный инструмент для редактирования таких вещей, как свойства персонажа / предмета, если структура и расположение этих данных известны и нет специального игрового редактора для игры, который мог бы редактировать эту информацию. Некоторые бесстрашные хакеры также выполняют редактирование уровней с помощью шестнадцатеричного редактора, но это чрезвычайно сложно (за исключением игр, формат хранения уровней которых очень похож на то, как он представлен в шестнадцатеричном редакторе).

Редактирование графики

Другой базовый навык взлома - это взлом графики, который изменяет внешний вид игрового окружения, персонажей, шрифтов или других подобных вещей. Формат графических данных варьируется от консоли к консоли, но большинство ранних (NES, Super NES, Game Boy и т. Д.) Хранят графику в тайлах, которые имеют размер 8x8- пикселей единицы данных, которые размещаются на экране для получения желаемого результата. Редактирование этих плиток также возможно с помощью шестнадцатеричного редактора, но обычно выполняется с помощью редактора плиток (например, Tile Layer или Tile Molester ), который может отображать данные ROM в графическом виде. способ, а также поиск и редактирование плиток.

Графические хаки могут варьироваться от простых изменений (например, предоставление Луиджи клюшки для гольфа или создание пиксельных спрайтов для покемонов более позднего поколения) до «переноса» персонажей из одного от игры к другой, к полноценным тематическим изменениям (обычно с соответствующими изменениями палитры; см. ниже).

Более изощренный взлом графики включает изменение не только плиток и цветов, но и способа их расположения или создания групп плиток, что дает большую гибкость и контроль над окончательным внешним видом. Это достигается с помощью редактирования шестнадцатеричного кода или специального инструмента (либо для конкретной игры, либо для конкретной системы). Хорошим примером графического хака является незавершенный Pokémon Torzach, хак, который попытался добавить в игру новое поколение покемонов и плиток. С тех пор взлом был прекращен, но он по-прежнему служит хорошим примером того, чего можно достичь с помощью доступных инструментов.

Редактирование палитры

Другой распространенной формой взлома является взлом палитры, когда значения цвета изменяются, чтобы изменить цвета, которые игрок видит в игре (это часто идет рука об руку с взлом графики); Значения палитры обычно хранятся в Hex. Это довольно просто для игр NES, графика которых использует заранее определенный набор цветов, среди которых выбирается игра; взлом палитры в этом случае влечет за собой изменение того, какой из этих цветов выбран. Немного сложнее обстоит дело с играми Super NES и играми для других систем, которые хранят абсолютные значения цвета RGB. Редакторы палитр обычно просты и часто используются с редакторами уровней или графическими редакторами для конкретных игр.

Редактирование уровней

Одна из самых популярных форм взлома ПЗУ, редактирование уровня влечет за собой изменение или переработку уровней или карт игры. Это почти всегда делается с помощью редактора, специально созданного для конкретной игры (называемого a). Изменения уровней могут быть сделаны, чтобы сделать игру более сложной, изменить ход сюжета игры или просто добавить что-то новое в старую игру. В сочетании с обширным взломом графики игра может выглядеть совершенно по-другому.

Редактирование данных

Основной компонент многих хаков (особенно ролевых видеоигр ) - это редактирование данных, таких как свойства персонажа, предмета и врага. Обычно это делается либо «вручную» (с помощью шестнадцатеричного редактора), если местоположение и структура данных известны, либо с помощью редактора для конкретной игры, который имеет эту функцию. Благодаря этому хакер может изменить принцип работы оружия, силу врагов, их действия и т. Д. Это можно сделать, чтобы сделать игру проще или сложнее, или создать новые сценарии, с которыми игрок может столкнуться.

Взлом сборки

Самым мощным и, возможно, самым сложным способом взлома является редактирование реального кода игры, процесс, называемый взломом ASM («ASM» означает «сборка ", имея в виду тип языка программирования, который использовался в ранних видеоиграх). Не существует установленного шаблона для взлома ASM, так как код сильно различается от игры к игре, но большинство опытных хакеров ASM либо используют эмулятор, оснащенный встроенным отладчиком или трассировщиком, либо запускают ПЗУ через дизассемблер, затем проанализируйте код и измените его с помощью шестнадцатеричного редактора или ассемблера в соответствии с их потребностями. Хотя это довольно сложно по сравнению с относительно простыми методами, перечисленными выше, при взломе ASM возможно все (конечно, в пределах аппаратного / программного обеспечения игровой платформы), начиная от изменения врага AI и заканчивая изменением способа графика генерируется. (Конечно, возможности по-прежнему ограничены способностью хакера понять и изменить существующий код.)

Если разработчики использовали типизированный язык, хакер мог бы скомпилировать свой собственный код игры на том же языке, если у них есть доступ к соответствующему компилятору. Одним из таких примеров может быть использование C для взлома игр Nintendo 64, поскольку MIPS - GCC может компилировать код для Nintendo 64.

Музыка взлом

Музыкальные хаки относительно редки из-за большого разнообразия способов хранения музыкальных данных в играх (отсюда трудности с поиском и изменением этих данных) и трудностей при создании новой музыки (или переносе музыки из другой игры). Так как взлом музыки встречается очень редко, во многие хаки не добавляется портированная / составленная музыка. Программа SapTapper может использоваться для взлома музыкальных данных Game Boy Advance, поскольку многие игры Game Boy Advance используют движок M4A Engine (также называемый " Sappy Driver ») для музыки. Для работы с движком были созданы различные другие утилиты, такие как Sappy 2006.

Другой пример того же движка, который используется между играми, находится на Nintendo 64, в которой большинство игр используют тот же формат; хотя они используют разные звуковые банки. Утилита, известная как N64 Midi Tool, была создана для редактирования последовательностей, которые используются в большинстве игр для Nintendo 64, хотя она не распространяется на игры для N64, которые используют несколько иной движок, например Супер Марио 64. В нескольких играх Mega Drive используется звуковой движок, неофициально известный как «SMPS», который десятилетиями исследовался многими хакерами. На сегодняшний день существуют различные инструменты для изменения музыки в играх, в которых используется движок SMPS (в частности, Sonic the Hedgehog игры), и многие из них попали в Steam Workshop.

Расширение ПЗУ

Вообще говоря, хакер ПЗУ обычно не может добавить контент в игру, а просто изменить существующий контент. Этот предел можно преодолеть путем расширения ПЗУ, в результате чего общий размер образа ПЗУ увеличивается, освобождая место для большего количества контента и, в свою очередь, более крупной игры. Сложность этого варьируется в зависимости от системы, для которой была создана игра. Например, расширение ПЗУ NES может быть трудным или даже невозможным из-за преобразователя, используемого игрой. Например, если преобразователь позволяет использовать 16 банков ПЗУ, и все они используются, дальнейшее расширение ПЗУ невозможно без преобразования игры в другой преобразователь, что может быть легко или чрезвычайно сложно. С другой стороны, расширение игры для SNES (относительно) несложно. Чтобы использовать добавленное пространство, части кода игры должны быть изменены или переписаны (см. Взлом сборки выше), чтобы игра знала, где искать. Другой довольно простой тип расширения ПЗУ - это ПЗУ Game Boy Advance. Сами ПЗУ, как правило, небольшие, но доступное пространство памяти иногда превышает его кратно 17.

Распространение

После завершения взлома (или неполная версия считается подходящей для промежуточный выпуск) он размещен в Интернете для других пользователей. Общепринятый способ сделать это - сделать неофициальный патч (в формате IPS или другие), который можно применить к неизмененному ПЗУ. Эта документация, как и обычно в той или иной форме, помещается в архивный файл и куда-то загружается. IPS - это формат для записи различий между двумя двоичными файлами (в данном случае между немодифицированными и взломанными ПЗУ), который подходит для взлома ПЗУ. IPS до сих пор используется для небольших патчей, однако по мере увеличения размера ПЗУ этот формат стал бесполезным, что привело к созданию довольно большого количества форматов файлов, таких как NINJA и PPF («PlayStation Patch Format»). PPF все еще используется сегодня, особенно для исправления больших файлов, таких как образы компакт-дисков ISO и Nintendo 64 игр. Новый формат исправлений, UPS, также был разработан сообществом хакеров ROM, призванным стать преемником IPS и PPF. Более поздний формат исправлений, система исправлений APS, также был разработан преданным хакером Game Boy Advance ROM. Система APS более компактна, обратима и быстрее, чем ее предшественник.

Целью распространения взлома в форме исправления является избежание юридических аспектов распространения полных образов ROM; патч записывает только то, что изменилось в ПЗУ, поэтому его распространение обычно не распространяется на части исходной игры. Патч также обычно значительно меньше, чем полный образ ПЗУ (ПЗУ NES может работать от 8 КБ до 2 МБ; ПЗУ Super NES может работать от 256 КБ до 6 МБ).

В качестве нового примера легального распространения Sega выпустила виртуальный хаб на основе Steam для своей предыдущей коллекции игр Mega Drive / Genesis под названием Sega Mega Drive Classics Hub. Hub, помимо того, что позволяет игрокам играть в эмулированные версии этих старых игр, использует преимущества поддержки Steam для пользовательского контента через Steam Workshop, официально разрешая взлом ПЗУ любой из предлагаемых классических игр.

Использование

Исправленные ПЗУ часто воспроизводятся на эмуляторах, однако также возможно воспроизводить исправленные ПЗУ на исходном оборудовании. Картридж назначения может быть исходным картриджем, из которого было извлечено исходное ПЗУ без исправлений, или другим совместимым картриджем того же типа. Это особенно популярно для фанатских переводов, самодельных игр, прототипов или других игр, для которых никогда не производились оригинальные картриджи, или для игр, для которых требуется точное время или другие элементы оригинального оборудования, недоступные в эмуляторах..

Системы и игры

Большая часть взлома ROM выполняется в играх NES и Super NES, поскольку такие игры маленькие и простые по сравнению с игры для более продвинутых консолей, таких как Nintendo 64 или Nintendo DS. Игры для Game Boy, Game Boy Color и Game Boy Advance также популярны для взлома, как и игры для Sega Mega Drive и PlayStation в меньшей степени. Игры Sega Genesis также широко взламываются. Но игры для новейших консолей никоим образом не защищены от взлома, и действительно, поскольку компьютеры стали быстрее и было написано больше программ и утилит, появилось больше хаков для PlayStation, Nintendo 64 и Nintendo DS.

Среди этих популярных игр популярны игры, которые можно взломать; выпущено множество хаков для игр серии Sonic the Hedgehog, Super Mario (включая Super Mario Bros. 3, Super Mario 64 и Super Mario World ), серии Mario Kart (особенно Super Mario Kart, Mario Kart Wii, Mario Kart 7 и Mario Kart DS ), серия Pokémon, Chip's Challenge, Final Fantasy, The Legend Zelda, игры из серии Mega Man, серии Fire Emblem, EarthBound, Super Metroid и многие другие.

Известной аркадной игрой была Street Fighter II Blackbelt Edition, которая отличалась повышенной скоростью игры и новыми специальными движениями. Успех этой игры побудил Capcom выпустить Street Fighter II: Hyper Fighting в качестве официального ответа.

Ваш журнал Sinclair публиковал ежемесячную колонку под названием «Program Pitstop». В основном это касалось читов хаков для игр, но также было предусмотрено как принтер карты уровней для оригинальной Gauntlet, так и полноценный редактор уровней для той же игры.

См. Также
Ссылки
Внешние ссылки
  • Домен Zophar Сайт с некоторой информацией и ресурсами, относящимися к взлому ROM.
  • Romhacking.net A крупный сайт сообщества хакеров ROM для различных консолей с обменом хаками.
  • gbatemp.net Сообщество хакеров ROM, сосредоточенное в основном на DS, 3DS, Wii и Wii U.
  • psxdev.net Forum и ресурсы о взломе PSX.
  • XeNTaX Сообщество, специализирующееся на обратном проектировании и форматах файлов многих видеоигр и консолей.
  • SMW Central Сообщество хакеров Super Mario World.
  • Pokemon Rom Hacks Некоторые из лучших хаков Pokemon rom.
  • FF6Hacking.com Сообщество, посвященное взлому Final Fantasy 6.
  • Slick Production Сообщество, посвященное взлому различных игр Final Fantasy, в основном FF4, FF5 и FF6.
  • Куимм Ф orums Форумы, посвященные взлому версий FF7, FF8 и PSX для ПК, в основном FF7, FF8 и PSX версии FF9.
  • New Game Plus Взломы, связанные с размещением сайтов.
Последняя правка сделана 2021-06-03 04:53:13
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте