通过 Ghidra MCP 逆向工程经典游戏ROM
作者通过 MCP 将 Claude 与 Ghidra 连接,以分析 Atari River Raid ROM 中的函数并重新命名它们。
- 具体怎么做
- 作者运行了开源的 Ghidra MCP 服务器,以便 Claude 能够检查一个未标注标签的 8 kB Atari ROM(仅以 6502 格式导入)。Claude 通过硬件寄存器推断出 Atari 平台,并找到了生命值递减代码。作者手动进行了两次重新定位操作,并在 Ghidra 外部应用了单字节补丁。
- 做到了什么
- 将 DEY 替换为 NOP 后,在模拟器中的生命计数器停留在 3。Claude 错误地认为游戏是《蜈蚣》,并因精灵图数据问题而陷入困境。MCP 工具无法重新构建或编写二进制文件。
- 上手要点
- 设置过程包含四个环节,某些工具调用需要约30秒,因此交互使用体验较为缓慢。
你可以这样试
使用 Claude Code通过 MCP 连接 Ghidra,加载该 [ROM 或二进制文件]。分析已反汇编的函数,根据其行为和字符串推断其功能,并给它们赋予描述性标签,完成后生成带有注释的函数映射表。