russian ROMhacking
[ Новые сообщения · Участники · Правила форума · Поиск ]
  • Страница 1 из 1
  • 1
[SMD] ROM glitcher - сделай себе хак не зная ромхакинг
perfect_geniusДата: Понедельник, 11.03.2024, 02:07 | Сообщение # 1
Рядовой
Группа: Проверенные
Сообщений: 3
Статус: Оффлайн
Программа портит ром особым образом и пользователь проверяет, появилось ли нужное ему изменение. Если не появилось, то ром восстанавливается и портится в других местах.
Несколько примеров того, что удалось таким способом (в скобках - номер прохода/цикла/попытки):


Как видно, поиск занимает не так много времени - не более 300 попыток, каждая секунд 5 или меньше.
Глитчер не ищет логику "больше/меньше", а только "включилось/выключилось", "есть/нет", "случилось/не случилось", "равно/не равно" (инструкции BEQ и BNE) и переключает их в друг друга. Т.е. вряд ли изменит скорость, цвет, параметры, координаты и т.д.
Для последних двух игр явно нужно искать координаты элементов и такой поиск будет одной из следующих функций программы.

Как пользоваться
—сохраняетесь перед условием, которое хотите изменить. В моөм случае с секретными меню UMK3 и пунктами в опциях SoR код игр рисовал их не каждый кадр, а только перед их отображением, поэтому я сохранился на предыдущем экране сразу после нажатия Start. Если не нажать Start, то сломанный код может уже не дать это сделать, т.е. увидеть следующий экран.
Если же нужное вам может появляться на экране в любой момент при определөнном условии, тогда можно и сохраняться в любой момент - как только Глитчер переключит это условие, нужное появится сразу после загрузки сохранения.
—закидываете ром на иконку программы, в эмуляторе загружаете сохранение, смотрите результат и выбираете подходящий пункт меню в Глитчере. Перезагружаете ром, перезагружаете сохранение, смотрите, выбираете пункт меню и так повторяете.
—при закрытии Глитчера ром восстанавливается до первоначального состояния, а поиск сохраняется, чтобы можно было продолжить потом. При этом отменяется последний выбранный пункт - это аналог Ctrl+Z, чтобы не потерять всю свою работу одним ошибочным нажатием. Т.е. достаточно перезапустить программу.
—если при поиске нашли что-то интересное, не связанное с основной целью, то есть два варианта: 1) сделать бэкап файла [поиск на паузе] с пояснением себе типа "[поиск на паузе] враги ходят задом наперөд", чтобы искать потом; 2) выбрать пункт 3 и искать нужную инструкцию сейчас. Этот пункт создаөт [поиск на паузе] сразу и даст вернуться к основному поиску, если в конце ничего не нажмөте и выйдете из программы.

Подробнее про пункты поиска
1 Изменения сломали игру (или эмулятор) и она или не запускается, или до нужного места не дойти, или дойти можно, но непонятно - есть изменение или нет
2 Игра может быть цэлой или поломанной, но до нужного места можно дойти и однозначно убедиться, что нужное изменение не появилось
3 Нужное изменение появилось. Оно может соседствовать с ненужными эффектами, багами, поэтому далее начнөтся их отфильтровывание

Мой опыт ускорения поиска
Прикрепления: rom_glitcher.zip (9.6 Kb)
 
  • Страница 1 из 1
  • 1
Поиск: