| Разработка и ромхакинг > Ромхакинг и программирование |
| [SMD] Запрос на взлом игры Toejam & Earl 2 за вознаграждение. |
| << < (4/7) > >> |
| MetalliC:
--- Цитата: ankxiteatr от 03 Январь 2020, 14:54:52 ---а нельзя найти код для процедуры смены ништяков в комнате русалки? --- Конец цитаты --- можно, но нужен сейвстейт(ы) перед воротами, только не для генса а эмулятора с более вменяемым отладчиком, типа МАМЕ. |
| perfect_genius:
Не забудь всё-же включить логгирование при таком обыскивании уровней. |
| ankxiteatr:
--- Цитата: SUPER_ROBOT от 03 Январь 2020, 22:10:35 ---Не забудь всё-же включить логгирование при таком обыскивании уровней. --- Конец цитаты --- Спасибо большое! :wow: Буду играть. Потом отпишусь. Добавлено позже: --- Цитата: MetalliC от 03 Январь 2020, 19:59:56 ---можно, но нужен сейвстейт(ы) перед воротами, только не для генса а эмулятора с более вменяемым отладчиком, типа МАМЕ. --- Конец цитаты --- Именно перед воротами или уже внутри комнаты? А какой посоветуете эмулятор?Про MAME слышал, но не играл на нём, он же для мультиплатформенных аркадных игр. |
| ankxiteatr:
--- Цитата: Sharpnull от 03 Январь 2020, 19:35:08 ---Координаты персонажей можно менять вне зависимости от препятствий. В RAM адреса: --- Код: ---Toejam: X - 8DDC, Y - 8DE4 Earl : X - 8E5C, Y - 8E64 --- Конец кода --- Размер u16, нули - верхний левый угол уровня. Написал скрипт на Lua для BizHawk (используйте стабильную по ссылке), чтобы перемещать персонажей: https://gist.github.com/infval/8b6898c1c703ebf764aa7854e3d8e8f4 (ПКМ на Raw -> Сохранить объект). Добавить в Tools -> Lua Console. Delete - влево, PageDown - вправо, Home - вверх, End - вниз, Insert - уменьшить шаг перемещения, PageUp - увеличить шаг (макс. 32). Такие горячие клавиши уже есть для TAStudio, но вроде не мешают, если не включено. Чтобы упасть на землю, просто сдвиньте персонажа в сторону через обычное управление. Не стал делать переключение между персонажами, просто измените в скрипте адреса в памяти: --- Код: ---local player_x = player2_x local player_y = player2_y --- Конец кода --- Копия скрипта на всякий случай: --- Код: ---local player1_x = 0x8DDC local player1_y = 0x8DE4 local player2_x = 0x8E5C local player2_y = 0x8E64 local player_x = player1_x local player_y = player1_y local step = 1 local prev_keys = nil while true do local x = mainmemory.read_u16_be(player_x) local y = mainmemory.read_u16_be(player_y) local keys = input.get() if keys["Delete"] then mainmemory.write_u16_be(player_x, x - step) elseif keys["PageDown"] then mainmemory.write_u16_be(player_x, x + step) end if keys["Home"] then mainmemory.write_u16_be(player_y, y - step) elseif keys["End"] then mainmemory.write_u16_be(player_y, y + step) end if keys["Insert"] and prev_keys["Insert"] == nil then if step > 1 then step = step - 1 end elseif keys["PageUp"] and prev_keys["PageUp"] == nil then if step < 32 then step = step + 1 end end prev_keys = keys emu.frameadvance(); end --- Конец кода --- -------- Не знаю специфику игры, надеюсь поможет. Добавил видео с демонстрацией: --- Конец цитаты --- А вы не в курсе, почему коды gg и raw не работают на этом эмуляторе? Брал отсюда: https://gamehacking.org/game/16117 Пробовал вводить через Cheats вручную вводя raw с параметрами M68K 2 byte HEX , не работают. Затем через Cheat code converter и Game Genie Encoder/Decoder так же не работают :( |
| MetalliC:
--- Цитата: ankxiteatr от 04 Январь 2020, 01:02:51 ---Именно перед воротами или уже внутри комнаты? --- Конец цитаты --- перед воротами, так чтоб нажал и зашел (у меня нет времени да и желания проходить игру аж до них) --- Цитата: ankxiteatr от 04 Январь 2020, 01:02:51 ---А какой посоветуете эмулятор?Про MAME слышал, но не играл на нём, он же для мультиплатформенных аркадных игр. --- Конец цитаты --- там всё, это универсальный комбайн. идёшь на официальный сайт https://www.mamedev.org/release.html и качаешь оттуда дистрибутив эмулятора (лучше 64бит версию). скачанный exe запускаешь и указываешь куда распаковать. в ту же папку распаковываешь архив из аттача запускаешь start_toejam2_64.cmd сохранения записываются по Shift+F7 и затем цифра номера слота, загрузка по F7 и номер слота управление можно перенастроить во время игры по Tab - Input (this machine) |
| ankxiteatr:
--- Цитата: MetalliC от 04 Январь 2020, 09:26:21 ---перед воротами, так чтоб нажал и зашел (у меня нет времени да и желания проходить игру аж до них) там всё, это универсальный комбайн. идёшь на https://www.mamedev.org/release.html и качаешь оттуда дистрибутив эмулятора (лучше 64бит версию). скачанный exe запускаешь и указываешь куда распаковать. в ту же папку распаковываешь архив из аттача запускаешь start_toejam2_64.cmd сохранения записываются по Shift+F7 и затем цифра номера слота, загрузка по F7 и номер слота управление можно перенастроить во время игры по Tab - Input (this machine) --- Конец цитаты --- Понял, спасибо! Про ворота я имел в виду, что может нужны сейвы именно внутри ворот, когда ты уже в комнате с русалкой... Но потом понял какой я "бака гадзин" :lol: ведь с сохранениями до входа в ворота, всегда можно войти и сделать внутри) |
| Sharpnull:
--- Цитата: ankxiteatr от 04 Январь 2020, 08:31:03 ---А вы не в курсе, почему коды gg и raw не работают на этом эмуляторе? --- Конец цитаты --- Вы делаете правильно, для кодов с сайта (как для старых эмуляторов) настройки: M68K BUS, 2 Byte, Hex, [v] Big Endian. В RAM пишет, а ROM не хочет изменять, хотя в HEX-редакторе отображается правильно. Я пробовал два кода: --- Цитата ---Infinite time under water by Galoob AJ4A-GA2G (033406:6002) Infinite Time Underwater by Kamisamavx FFA92E:0063 --- Конец цитаты --- Первый в ROM и можно через внешний HEX-редактор изменить (по этому адресу 0x033406 изменить 1-й байт - 0x60, потом 0x02). Второй работает, FFA92E запись в RAM 0xA92E. В сборках разработки стало интереснее, теперь опция Big Endian в HEX-редакторе значит обратное и байты отображаются не как в ROM (кажется баг), а изменённые значения ROM только выделяются без нового значения, теперь хотя бы видно, что они не изменились. Об этом баге известно давно Sega Genesis Game Genie Codes don't work. #1188 - 1 May 2018, Imported cheatcodes which "modify" read-only domains are silently blocked #1350 - 13 Oct 2018. В последней теме даже CaH4e3 отметился, хотя он и писал там, что не работает Converter GG и читы можно ввести как Raw, для Mega Drive это похоже не вариант. Чтобы не лезть в другой редактор, можно изменять ром с диска во встроенном HEX-редакторе, если выбрать Options -> Memory Domains -> File оn Disk. Переход на адрес Ctrl+G, Poke Address (Ctrl+P) и ввести значение с обратными байтами (если в было 0x6002 как выше, то 0260), потому что для файла всегда Little Endian (в последних dev сборках можно выбрать Big Endian в Options, но отображение в самом редакторе будет обратное). -------- Забыл сказать, что после модификации рома через встроенный HEX-редактор всё равно нужно перезапускать игру. |
| ankxiteatr:
--- Цитата: Sharpnull от 04 Январь 2020, 19:59:43 ---Вы делаете правильно, для кодов с сайта (как для старых эмуляторов) настройки: M68K BUS, 2 Byte, Hex, [v] Big Endian. В RAM пишет, а ROM не хочет изменять, хотя в HEX-редакторе отображается правильно. Я пробовал два кода:Первый в ROM и можно через внешний HEX-редактор изменить (по этому адресу 0x033406 изменить 1-й байт - 0x60, потом 0x02). Второй работает, FFA92E запись в RAM 0xA92E. В сборках разработки стало интереснее, теперь опция Big Endian в HEX-редакторе значит обратное и байты отображаются не как в ROM (кажется баг), а изменённые значения ROM только выделяются без нового значения, теперь хотя бы видно, что они не изменились. Об этом баге известно давно Sega Genesis Game Genie Codes don't work. #1188 - 1 May 2018, Imported cheatcodes which "modify" read-only domains are silently blocked #1350 - 13 Oct 2018. В последней теме даже CaH4e3 отметился, хотя он и писал там, что не работает Converter GG и читы можно ввести как Raw, для Mega Drive это похоже не вариант. Чтобы не лезть в другой редактор, можно изменять ром с диска во встроенном HEX-редакторе, если выбрать Options -> Memory Domains -> File оn Disk. Переход на адрес Ctrl+G, Poke Address (Ctrl+P) и ввести значение с обратными байтами (если в было 0x6002 как выше, то 0260), потому что для файла всегда Little Endian (в последних dev сборках можно выбрать Big Endian в Options, но отображение в самом редакторе будет обратное). -------- Забыл сказать, что после модификации рома через встроенный HEX-редактор всё равно нужно перезапускать игру. --- Конец цитаты --- Чтобы не заморачиваться, пропатчил игру на другом эмуле. Проверил все этапы...все стены... Ничего нового. Либо действительно нужно выполнить какие-то условия, чтобы попасть к нужной русалке, либо это вырезали из игры. Остаётся последний способ, сделаю сейвы для MetalliC, вдруг получится взломать смену ништяков в комнате русалки. |
| perfect_genius:
Ещё вернёмся к изучению формата уровней - Круптаром попорти игру и поищи на уровнях глитчи. |
| ankxiteatr:
--- Цитата: perfect_genius от 11 Январь 2020, 17:34:22 ---Ещё вернёмся к изучению формата уровней - Круптаром попорти игру и поищи на уровнях глитчи. --- Конец цитаты --- А можно расшифровать) Я не ромхакер. Да, забыл написать, если это конечно что-то значит. Многие секретные ворота, скрытые призы, рычаги появляются при определённых действиях или касании к скрытому активатору-триггеру (в виде фейерверка). Krocki, нашёл код делающий их сразу активированными. Но на одном из этапов - 11 "The Big Slide", если вы заберетесь на платформу в верхней части уровня, то найдете маленький "туннель", который ведет к небольшой скале с кнопкой, нажав которую появляется пузырь. При сканировании области фанк сканом обнаруживается невидимый активатор, который почему-то не активируется ничем и никак. |
| ankxiteatr:
--- Цитата: MetalliC от 04 Январь 2020, 09:26:21 ---перед воротами, так чтоб нажал и зашел (у меня нет времени да и желания проходить игру аж до них) там всё, это универсальный комбайн. идёшь на официальный сайт https://www.mamedev.org/release.html и качаешь оттуда дистрибутив эмулятора (лучше 64бит версию). скачанный exe запускаешь и указываешь куда распаковать. в ту же папку распаковываешь архив из аттача запускаешь start_toejam2_64.cmd сохранения записываются по Shift+F7 и затем цифра номера слота, загрузка по F7 и номер слота управление можно перенастроить во время игры по Tab - Input (this machine) --- Конец цитаты --- Готово. Седьмое сохранение (слот) - там можно перепрыгнуть "жезл" русалки и высоко подпрыгнуть зажав кнопку "вниз" попасть слева в стену, оттуда если прыгнуть вправо, то попадёшь на скрытую платформу. С неё вверх и влево. Там призы и левая часть комнаты с ещё одной русалкой, дающей бесконечную панику. Во все ворота заходить нажав кнопку "вверх". Чтобы их увидеть, то нужно нажать кнопку "x". Добавлено позже: Интересно... На сайте https://gamehacking.org/?game=16117&hacker=&format=genie есть коды gg и raw, соответствующие тому что даёт русалка. В том числе и к тем двум ништякам, ворота к которым я ищу: бесконечные жизни до конца уровня и замедление таймеррв в два раза. Значит ли это, что в игре есть такое? |
| perfect_genius:
Интересно, что твой предыдущий коммент 12го числа, а новый 20го. Форум их всё равно слил в один и не отметил, что в теме есть новое сообщение. Я вот случайно зашёл. По теме - видимо, таки есть. Хакеру теперь ещё легче должно быть найти откуда запускаются эти функции. |
| ankxiteatr:
--- Цитата: perfect_genius от 22 Январь 2020, 21:58:40 ---Интересно, что твой предыдущий коммент 12го числа, а новый 20го. Форум их всё равно слил в один и не отметил, что в теме есть новое сообщение. Я вот случайно зашёл. По теме - видимо, таки есть. Хакеру теперь ещё легче должно быть найти откуда запускаются эти функции. --- Конец цитаты --- Да, странно.... 0_0 Добавлено позже: На всякий случай напишу здесь. 1) Максимальный отскок от розовой подушки, не падаешь с пузырей, таймеры в два раза медленнее, еда и очки за подарки увеличиваются в два раза. Gg: ACYA-B8EJ Raw: 00A888:1F00 2) Бесконечные засасывалки, паника, монеты, фанки и супербаночки. Gg: SWYA-AAEJ Raw: 00A888:007C 3) Бессмертие, не кончается воздух под водой, бесконечные жизни. Gg: TRYA-AAEJ Raw: 00A888:0083 4) Комбинация всех этих возможностей. Gg: 98YA-B8EJ Raw: 00A888:1FFF Надеюсь они помогут найти обращение к воротам русалки... |
| ankxiteatr:
Эх... Так никто и не захотел или не смог помочь за деньги :'( Эта тайна же мучить меня будет до самого конца :lol: |
| Ogr:
--- Цитата: ankxiteatr от 13 Июнь 2020, 13:40:38 ---Эх... Так никто и не захотел или не смог помочь за деньги --- Конец цитаты --- за копейки ни кто не работает. :lol: |
| ankxiteatr:
А я где-то цену писал? :neznayu: Что-то не припомню... |
| Ogr:
ankxiteatr, ну а ты попробуй написать. для затравочки начни, скажем ,с десяти тысяч рублей, ну а там готовься закончить на нескольких тысяч баксов. :lol: |
| ankxiteatr:
Ogr, вы потроллить пришли? |
| SeregaZ:
не не... он же Огр, а не Троль. поОгрить! |
| perfect_genius:
ankxiteatr, я сейчас ковыряю МК3, потом возьмусь за твою игру. Не теряй надежду :) |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |