| Разработка и ромхакинг > Инструменты |
| [NES/Дэнди/SMD] ROM glitcher - сделай себе хак не зная ромхакинг |
| << < (3/7) > >> |
| AnyZero:
Ещё немного напишу, к сожалению в Shining Force 2 не включилось управление мобами, повторно проверять уже не стал, но зато нашлась мгновенная победа. И ещё, в противовес находимой неуязвимости я почти везде нашёл и мгновенную смерть, сразу умираешь или полоска энергии стремится к нулю (Shining Force 2 , Comix Zone, Waynes world, Beyond oasis). |
| Беларус:
--- Цитата: AnyZero от 16 Июль 2024, 12:27:38 ---в Shining Force 2 не включилось управление мобами --- Конец цитаты --- Видимо, игра сначала проверяет активированность секретного меню. Т.е. надо сначала сделать хак на его постоянную включённость, чтобы далее код проверял его пункты. Попробую проверить. Скинь мне сохранение в бою, если ещё не удалил. --- Цитата: AnyZero от 16 Июль 2024, 12:27:38 ---я почти везде нашёл и мгновенную смерть --- Конец цитаты --- Про это и написано в описании к программе: --- Цитата: perfect_genius от 20 Февраль 2024, 03:08:38 ---Зато неожиданно нашёл неуязвимость для первого игрока, хотя всегда думал, что там только логика "если получен урон, то игрок умирает", которая инвертируется в "если не получен урон, то игрок умирает", что обычно и происходило - игрок моментально умирал --- Конец цитаты --- Поэтому интересно что же там меняется, из-за чего появляется неуязвимость. Но проверить это пока нет времени. Кстати, когда ты находишь нужное, ты продолжаешь до конца процесса, отсеиваешь все ненужные изменения? Т.е. получаешь в конце адрес изменения? |
| AnyZero:
Сохранёнка первой битвы, сделана в kegafusion. Да потом до конца добиваю, там уже быстро процесс проходит, но ромы и места изменений я не смотрел. |
| Беларус:
0x28fb4 - активация секретного меню (26 попыток) 0x23fd8 - управление врагами, меню оказалось не нужным (185 попыток) По адресам будет 66 или 67 и просто меняешь их друг на друга. (В этот переводе Шедевра глючит звук в GensRRv11- это известный баг?) |
| AnyZero:
Так как пользуюсь Kega как основным эмулятором, а там проблемы со звуком не было, то хз известный он или нет. Новую версию не планируешь выкладывать? Хочется чего-то такого, поэкспериментировать. |
| Беларус:
Да, что-то затянулась разработка, хотя делаю непрерывно каждый день, уже 7 месяцев :lol: Надеюсь, за неделю доделаю, а пока отправил тебе в личку что есть. |
| AnyZero:
Всё же с массивами не так интересно играть чем с "переключателями", пока видел только графические и звуковые глюки. |
| Беларус:
Первоначальной функций было менять вещи местами или множить. В какой игре что ты хотел изменить и на что? По идее, с этим инструментом тоже можно развлечься, установив своему персонажу приёмы какого-нибудь босса, например. Или поменять местами расположение предметов. Но это только в идеале, поэтому это больше поисковик ресурсов для хакеров получился. После него буду делать поисковик чисел, чтобы менять количества и координаты. Может с ним будет поинтереснее :) |
| Беларус:
У Глитчера появилась пара и теперь первый называется Переключатель, а второй - Переставлятель. Он ищет массивы указателей, которые могут указывать на что угодно - изображения, звуки, состояния анимаций, уровни, порядок объектов, код поведения и т.д. После нахождения их можно менять местами и множить копированием. |
| Lance_Kalzas:
--- Цитата: perfect_genius от 06 Декабрь 2024, 02:27:03 ---У Глитчера появилась пара и теперь первый называется Переключатель, а второй - Переставлятель. Он ищет массивы указателей, которые могут указывать на что угодно - изображения, звуки, состояния анимаций, уровни, порядок объектов, код поведения и т.д. После нахождения их можно менять местами и множить копированием. (Ссылка на вложение) --- Конец цитаты --- О, заново изобрёл Поганку :thumbup: |
| Беларус:
Скорее, сделал узкоспециализированные, ограниченные варианты. |
| Razor:
Попробовал сегодня переставлятор, чтобы найти побыстрее в Робокопе против Терминатора таблицу со списком куда какая дверь в игре телепортирует. Сэкономил кучу времени, так как нашлось всё буквально за десяток отсеиваний. Лайк за программу. ;) |
| Беларус:
Ого, отлично :ohmy: Опытный реверсер тоже нашёл бы в отладчике это быстро, но на то он и опытный, а тут вариант для обычных людей. Каких-то нареканий к интерфейсу или идей улучшения нет? Ты нашёл этот список и менял указатели в самой программе перебирая все, и давая имена ("уровень N"), или же искал этот массив отдельно в хекс-редакторе и менял там? |
| Razor:
--- Цитата: perfect_genius от 31 Декабрь 2024, 13:31:49 ---Каких-то нареканий к интерфейсу или идей улучшения нет? --- Конец цитаты --- Ну мне было бы удобнее, если бы оно пораньше писало какие адреса оно в данный момент ломает --- Цитата: perfect_genius от 31 Декабрь 2024, 13:31:49 ---Ты нашёл этот список и менял указатели в самой программе перебирая все, и давая имена ("уровень N"), или же искал этот массив отдельно в хекс-редакторе и менял там? --- Конец цитаты --- Я нашел в какой момент оно сломало то что мне нужно, и спидранил пока программа не выдала адрес. Так как там таблица оказалась чуть умнее, что переставлятель не смог добиться прям совсем нужного изменения. Потом уже через HEX редактор и дебаггер в Генсе нашел что конкретно на что менять. |
| Беларус:
--- Цитата: Razor от 31 Декабрь 2024, 15:40:17 ---пораньше писало какие адреса оно в данный момент ломает --- Конец цитаты --- Т.е. чтобы показывало адрес первого элемента массива? Про это думал, но так и не придумал где его поставить. Наверно, надо бы в центр экрана на строку выше первого элемента. Попробовал повторить за тобой, нашёл вот этот массив: а в нём функцию в строке 10: Подстановка соседних элементов вместо него переносит в разные места разных уровней игры, но не в другие двери этого же уровня. Видимо, номер/позиция двери вносится в регистр перед вызовом этой функции, да? В игре есть смена сложности игры, и может быть предполагалось, что дверь будет вести в другие места уровня при повышении сложности - уж очень сложный уровень в обрезанном варианте, а полный вариант выглядит вообще непроходимым. |
| Razor:
--- Цитата: perfect_genius от 02 Январь 2025, 16:49:57 ---Подстановка соседних элементов вместо него переносит в разные места разных уровней игры, но не в другие двери этого же уровня. Видимо, номер/позиция двери вносится в регистр перед вызовом этой функции, да? --- Конец цитаты --- Там формат: * 1 байт - номер уровня * 1 байт - номер двериПереставлятель только первый байт меняет, поэтому оно только уровни переключает. |
| Беларус:
Переставлятель переставляет только элементы-указатели массива между собой, а они все 4 байта (нули в начале опущены) - это они на скриншоте после номера строки. Получается, первый байт - это позиция элемента функции дверей в этом массиве. Второй байт заносится в регистр, вызывается эта функция по указателю под номером 10, которая забирает из регистра номер двери. Я собирался следующим делать инструмент, ищущий такие константы в коде, и он бы мог найти все эти номера дверей (и координаты элементов интерфейса наверху), т.е. он подошёл бы больше для этой задачи и дополнительных действий не понадобилось бы, но передумал делать. Нет планов добавить в игру возможность стрелять под углом не двигаясь? |
| AnyZero:
Атака клонов. Сделано в старой версии глитчера, в последней в конце вылетает. |
| Беларус:
Умеешь же ты заинтриговать недосказанностью :) Что за игра? Явно Super Star Wars, но у сеговского прототипа другой интерфейс и этого уровня там не увидел. И какой программой ломал? Инвертер или Переставлятель? Вылетает что - игра или программа? |
| AnyZero:
Super Star Wars Holiday Special v.1.0. Инвертер. Он не может до конца выяснить адрес, до завершения нескольких оставшихся попыток, он закрывается. |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |