Автор Тема: Escape from Monster Manor 3DO  (Прочитано 189 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vArhangelv

  • Пользователь
  • Сообщений: 88
  • Пол: Мужской
  • There is no knowledge that is not power
    • ВКонтакте
    • Просмотр профиля
Escape from Monster Manor 3DO
« : 23 Август 2024, 12:57:11 »
Кто-нибудь может помочь с хаком на Escape from Monster Manor. Нужно сделать бесконечные патроны (либо оч.много).Понятно,что через артмани легко,а вот сам образ - не допер.Ковырялся в сейвах,тоже ничего не могу понять.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5081
    • Просмотр профиля
Escape from Monster Manor 3DO
« Ответ #1 : 23 Август 2024, 15:30:07 »
Бесконечный заряд оружия
Найти E5 84 10 00 E3 A0 00 00 45 84 00 00 E5 8D 00 00, заменить на E1 A0 00 00 E3 A0 00 00 45 84 00 00 E5 8D 00 00.
Для (USA) образа https://myrient.erista.me/files/TOSEC-ISO/3DO/3DO Interactive Multiplayer/Games/ > Escape from Monster Manor - A Terrifying Hunt for the Undead (1993)(Electronic Arts)(US)[!].zip или redump, но они больше по размеру и данные не подряд, смысла нет использовать. Для (Europe) не подойдёт.
Я делал несколько читов для 3DO. Использовал отладчик отладочной версии Phoenix эмулятора (http://www.arts-union.ru/node/23). Для поиска - Cheat Engine, память 3DO в нём отображается с обратным порядком байтов по 4 байта - Little-Endian, в отладчике Феникса - Big-Endian. Для поиска также делаю дамп через отладчик, сохраняется в memory_*.bin.
В Escape from Monster Manor простой случай, найденное кол-во заряда в RAM 0x0A0DAC, breakpoint на запись показывает этот код:
RAM-00853B0: E59F4068      LDR      R4, [#85420] ; R4 = 000A0DAC
RAM-00853B4: E5940000      LDR      R0, [R4]
RAM-00853B8: E3500000      CMP      R0, #0
RAM-00853BC: D3A00003      MOVLE    R0, #3
RAM-00853C0: DA000014      BLE      #85418
RAM-00853C4: E2501005      SUBS     R1, R0, #5
RAM-00853C8: E5841000      STR      R1, [R4]
В R4 всегда адрес нашего заряда (000A0DAC). После вычитания (SUBS) происходит запись назад и здесь мы ставим NOP (обычно E1 A0 00 00). Поэтому для изменения в образе нужно найти эти байты инструкций и изменить.
Лёгкий ассемблер https://shell-storm.org/online/Online-Assembler-and-Disassembler/, отличаются NOP и немного синтаксис. Инструкции ARM (не Thumb) https://iitd-plos.github.io/col718/ref/arm-instructionset.pdf.
В сложных случаях код общий для объектов и нельзя просто его менять, например в Alone in The Dark я добавлял код на месте мусора, который устанавливал значения HP и оружия.

UPD: Есть тема по читам, не нужно плодить темы из-за таких мелочей: https://www.emu-land.net/forum/index.php?topic=69047.new#new.
« Последнее редактирование: 23 Август 2024, 16:14:28 от Sharpnull »

Оффлайн vArhangelv

  • Пользователь
  • Сообщений: 88
  • Пол: Мужской
  • There is no knowledge that is not power
    • ВКонтакте
    • Просмотр профиля
Escape from Monster Manor 3DO
« Ответ #2 : 23 Август 2024, 16:25:12 »
Sharpnull, спасибо!!искал по ключевым словам "3DO" по темам,не находил!!!!