案例

Halo 2:智能体辅助的 LTCG Xbox 版一致性反编译

Halo 2(初代 Xbox)的进行中一致性反编译:贡献者编写 C 与 C++ 代码,由原时代编译器以链接时代码生成方式构建整个程序,须逐函数还原出零售版可执行文件的字节。README 报告游戏函数字节的匹配比例接近一半,原生移植留待后续阶段。项目披露维护者的大量工作在 Claude 与 Codex 编程智能体流水线中进行。

使用条件与局限

  • README 的目标是零售光盘版的 default.xbe(内部名称 halo2ship.exe,链接于 2004-09-28,XDK 5849,Visual C++ 7.1 搭配 /LTCG),以 SHA-256 标识。所审提交报告 11,321 个游戏函数中已有 9,115 个匹配(占游戏函数字节的 46.90%,占全部范围内字节的 35.59%)。反编译与可读性整理仍在进行,原生移植属于后续阶段,因此项目尚不产出可游玩或已移植的构建。
  • 需从有权使用的副本中自备零售版 default.xbe,并自行准备 XDK 5849 开发工具链;项目均不提供,维护者也不协助获取 SDK。README 说明逐字节检查目前依赖该原版编译器,尚无开源工具链能复现其输出;分析和文档工作则两者都不需要。仓库不含游戏素材、光盘镜像或泄露材料。
  • 工具以 Python 编写(requirements-dev.txt,检查器需 capstone)。tools/build.py 按各源文件的编译选项把整个游戏构建为一个 LTCG 映像;tools/check.py 将每个已标注函数与零售版字节比较(重定位地址字段除外),把 matched/near/todo 状态写入 config/functions.csv,只要仍有函数不同便以非零状态退出。公开 CI 运行 Python 测试(缺少本地零售版与 SDK 输入时相关测试会跳过),并从已提交的 CSV 导出 decomp.dev 报告。
  • 匹配数来自项目自身的检查器;tools/masked.py 列出地址屏蔽可能掩盖的差异,例如相近的浮点常量和字符串。PROVENANCE.md 报告,早期命名曾借助其政策禁止的来源(源自未公开 2003 年链接映射的第三方命名,以及一份内部 2007 年调试版本);这些名称已删除或改名,函数匹配状态不变,而部分沿用 Halo CE 反编译的命名,其来源仍在审查中。本合集未运行任何检查。
  • 贡献者自身的工作采用 CC0 1.0;LEGAL.md 说明此举不会使 Halo 2 的代码、内容或商标进入公有领域,项目也与 Microsoft、Bungie 或 343 Industries 无关。README 称维护者的大量反编译工作在由 Claude 和 Codex 驱动的自动化流水线中进行,每批改动合入前都经审查与检查,并为贡献者提供可交给 AI 编程智能体的提示词。未记录 REA 使用,也不主张运行复现。

关于此条目

类型
案例
类别
独立重建案例
关联
独立重建项目
目标
游戏

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

一手来源

  1. README.md GitHub · kirklandsig/halo2-decompiled · 修订 e25e96f
  2. LEGAL.md GitHub · kirklandsig/halo2-decompiled · 修订 e25e96f
  3. PROVENANCE.md GitHub · kirklandsig/halo2-decompiled · 修订 e25e96f
  4. docs/PROGRESS.md GitHub · kirklandsig/halo2-decompiled · 修订 e25e96f
  5. tools/check.py GitHub · kirklandsig/halo2-decompiled · 修订 e25e96f
  6. CONTRIBUTING.md GitHub · kirklandsig/halo2-decompiled · 修订 e25e96f
  7. .github/workflows/python-tests.yml GitHub · kirklandsig/halo2-decompiled · 修订 e25e96f
  8. .github/workflows/decomp-dev.yml GitHub · kirklandsig/halo2-decompiled · 修订 e25e96f
  9. LICENSE GitHub · kirklandsig/halo2-decompiled · 修订 e25e96f