Для начало работы
нам понадобится: ArtMoney; Fusion 3.61 Rus (после того как
скачали настройте его) и игра Mutant Ninja Turtles - The
Hyperstone Heist. (После того как скачали игру "дёргаем" оттуда
Teenage Mutant Ninja Turtles - The Hyperstone Heist (U) [!] )
Далее запускаем в эмуляторе.
В начале уровня
сразу ставим на паузу, далее начинаем поиск количества жизней
как на скрине:

Тип переменной 1
байт целое, перевёрнутый (на Fusion всегда так):

Теряем одну жизнь,
отсеиваем "Уменьшилось на 1":

Получим какое-то
количество результатов. Переносим вправо. Если есть значения,
которые "гуляют" - смело отбрасывайте их. У меня искомый адрес
оказался первый (остальные прыгают 1:0 и т.д.):

Ставим туда хотя бы
тоже 5, после убийства счётчик жизней обновится (я не
замораживал, стало 4). Теперь находим адрес здоровья:

Делаем поиск
неизвестного значения, перевёрнутое целое 2 байта. Теряем
чуть-чуть здоровья - отсеиваем "уменьшилось". В игре чуть-чуть
продвигаемся в любом направлении без ранений - отсеиваем "не
изменилось". Снова ранение - "уменьшилось". Теряем ещё жизнь -
"увеличилось". Если немного результатов, то переносим их вправо,
если много - отсеиваешь ещё один-два раза. У меня получилось
это:

Настройки заморозки
делайте всегда такие:

Проверяем адрес -
верный. Теперь будем делать неуязвимость при мигании.
Размораживайте адрес здоровья, теряйте жизнь и сразу ставьте на
паузу, как только персонаж замигает и сохраняемся. В ArtMoney
делаем такой поиск:

Получим кучу
результатов. В игре проводим пару мгновений, снова пауза -
отсеиваем "уменьшилось". Загружаем сохранение - "увеличилось". В
игре дожидаемся, когда перестанет мигать - "уменьшилось". Без
мигания продвигаемся чуть-чуть в игре - отсеиваем "не
изменилось". У меня после такой процедуры осталось 10 адресов.
Переносим их все вправо, оставляем из них только те что "по
нулям", и также группу из тех что идут сразу друг за другом без
всяких смещений со значениями 0, 4 ,1024 - это могут быть и они
=) Я выделил те что надо оставить (у тебя или у вас их может
быть больше):

В игре теряем ещё
жизнь, дожидаемся мигания (это понятно), снова пауза. Смотрим,
как изменились значения по тем адресам:

Замораживаем первый
адрес как на скрине, в игре проверяем эффект. Если мигание и
неуязвимость не прекращается - адрес верный. Теперь
предпоследний приём - выбор персонажа через принудительное
изменение ID. Делаем такой поиск:

Перезапускаем игру,
на экране выбора персонажа ставим паузу эмуляции клавишей Pause,
выбираем крайнего справа:

Дожидаемся начала
уровня, отсеиваем как на скриншоте:

У меня нашлось 4
адреса. Первые два равны 3, то есть, скорее всего ID персонажа
идут как 0:3 - проверяй методом "тыка". У меня получилось это:
Player select:
0 - Leo
1 - Mike
2 - Don
3 - Raph
У тебя или у вас
будет то же самое. Заметьте, что при смене ID игрока цвет
повязки не меняется - в разных играх по-разному. Что делать
дальше - начать игру заново, выбрав игру на двоих игроков,
поставить паузу в самом начале, найти адрес количества жизней
второго игрока поиском точного значения. Далее сравниваем адреса
количества жизней первого и второго игроков - между ними
смещение 2h, то есть если к адресу кол-ва жизней 1P добавить 2 в
шестнадцатеричном виде, то получится адрес кол-ва жизней второго
(если не можем определить смещение "на глаз" - вычтите из
большего адреса меньший). Удаляйте адрес жизней второго игрока,
выделяйте все адреса параметров первого и делайте команду
"копировать выбранные", в поле + пишите смещение 2h и один раз
нажмите кнопку плюс (1), потом ОК (2):

В описаниях
полученных адресов второго игрока поменяйте 1P на 2P, сохраняйте
всё это дело:

Потом, можно взять
из того же архива файл Teenage Mutant Ninja Turtles - Return of
the Shredder (J) [!] и проверить с этими адресами - всё должно
совпадать. amt-файл назови: Teenage Mutant Ninja Turtles - the
Hyperstone Heist (Return of the Shredder).amt и в комментарии
напишите то что написано выше (Player select и коды персонажей).
Источник: http://chemax.ru/articles/cheatingemulgames.php |