案例
The Sims: Bustin' Out:AI 驱动的部分 GBA 一致性反编译重建
逐字节重建 The Sims: Bustin' Out 的 Game Boy Advance 美欧版,并逐步用 agbcc 编译、结果一致的 C 代码替换 ROM 区域。README 称这是由 AI 驱动的实验,几乎所有代码、分析与工具都由 AI 生成。ROM 的大部分仍从使用者的转储中复制,因此整个 ROM 一致并不代表游戏已完成反编译。
使用条件与局限
- 此提交的进度报告(验证时间 2026 年 10 月 18 日)统计 2,285 个一致的 C 函数,共 288,700 字节,另有 4,060 字节汇编衔接代码;16,777,216 字节 ROM 中仍有 16,484,456 字节未转换。报告将代码清单标为未完成,README 也说明 ROM 映射中的函数边界仍属暂定。
- 需使用者自备美欧版第 0 修订 ROM(游戏代码 ASIE),SHA-1 为 fb5662172fadebf4577f6f6f163741fc041c11e6;构建出的 ROM 中未转换区域取自该转储。美版第 1 修订转储仅用作审计与比对参照。仓库不含 ROM、提取的素材或游戏二进制。
- 文档所述构建宿主为 macOS,需 Python 3.10+ 及 Xcode 命令行工具。固定版本的工具链以 pret/agbcc 为一致性 C 编译器,另含带宿主兼容补丁的 GCC 3.0.2 与 Binutils 2.10.1 选定版本、Binutils 2.43.1、Capstone、pyelftools 和 Pillow。README 指出,选用这些工具并不能确定原游戏使用的工具链。
- make build 在任何字节不同时失败,每次通过验证的构建都包含必须被拒绝的源码改动反向对照;make test 无需 ROM 即可运行测试。mGBA 仅列为可选的有限运行观察工具,项目不主张游戏行为等价。本次审阅未构建或运行该项目。
- MIT 仅覆盖项目自有的源码、工具和文档,不覆盖原游戏代码、素材、商标或 Nintendo 的 ROM 头部标志。改编的 Krawall 例程(LGPL-2.1)、选用的 GCC 运行库源码(GPL-2.0 及例外条款)和 Newlib 字符串函数保留各自声明。项目不接受外部贡献;未说明所用智能体或模型,也未确立 REA 使用。
关于此条目
- 类型
- 案例
- 类别
- 独立重建案例
- 关联
- 独立重建项目
- 目标
- 游戏
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · DaBrown95/tsbodp · 修订 0beb04f
- assets/progress.json GitHub · DaBrown95/tsbodp · 修订 0beb04f
- config/targets/us-eu.json GitHub · DaBrown95/tsbodp · 修订 0beb04f
- config/targets/us-rev1.json GitHub · DaBrown95/tsbodp · 修订 0beb04f
- Makefile GitHub · DaBrown95/tsbodp · 修订 0beb04f
- tools/build_rom.py GitHub · DaBrown95/tsbodp · 修订 0beb04f
- AGENTS.md GitHub · DaBrown95/tsbodp · 修订 0beb04f
- LICENSE.md GitHub · DaBrown95/tsbodp · 修订 0beb04f