Разбор ROM игры River Raid для Atari через Claude и Ghidra MCP
Автор подключил Claude к Ghidra через MCP и вместе с ним разобрал ROM игры River Raid для Atari. Код уменьшения жизней агент нашёл, патч на один байт заморозил счётчик жизней, но игру Claude сначала спутал с Centipede.
Что сделали
Автор запустил открытый MCP-сервер для Ghidra, чтобы Claude мог изучить ROM на 8 kB без каких-либо меток, загруженный просто как код 6502. По аппаратным регистрам Claude понял, что это Atari, и нашёл код, который уменьшает число жизней. Смещение базового адреса автор делал руками (дважды), а патч на один байт применил вне Ghidra.
Что получилось
Замена DEY на NOP в эмуляторе заморозила счётчик жизней на 3. Claude ошибочно решил, что это игра Centipede, и с трудом разбирался в данных спрайтов. Инструменты MCP не умели менять базовый адрес и записывать бинарный файл.
На что обратить внимание
Настройка состояла из цепочки в четыре компонента, а некоторые вызовы инструментов шли около 30 секунд, поэтому интерактивная работа казалась медленной.
Пояснение
Ghidra это бесплатный инструмент для дизассемблирования и анализа программ. 6502 это процессор, на котором работала приставка Atari. DEY и NOP это его команды, первая уменьшает значение регистра, вторая ничего не делает.
Кому пригодится
Тем, кто занимается ретро-играми, ромхакингом или учится анализу бинарных файлов и хочет попробовать агента в Ghidra.
Попробуйте сами с Claude
Подключись к Ghidra через MCP и загрузи [ROM или бинарный файл]. Проанализируй дизассемблированные функции, определи их назначение по поведению и строкам и переименуй их понятными метками. В конце дай размеченную карту функций.
Нужна помощь с запуском? Вступайте в сообщество AI Pack ↗
Источник: quesma.com ·