案例

re4:Resident Evil 4 GameCube 调试版的字节一致反编译

为 Resident Evil 4 的双光盘 GameCube 调试原型版(G4BE08)重建 C 与 C++ 源码,并用 README 所列编译器重新构建 main.dol 及全部 114 个 REL 覆盖模块,逐一与 SHA-1 清单比对。函数名沿用调试版 Bio4.sym 符号文件中 Capcom 自己的命名,多数结构体与字段名则依据 PS2 调试版的调试信息对齐得出。项目的研究日志称一致性工作由 AI 智能体完成;字节一致为项目报告的结果。

使用条件与局限

  • 审阅的是 2026-10-02 的最新提交,距 2026-09-07 的首次提交不到四周。README 称反编译已完成:每个单元都编译为原始字节,src/ 中约有 57 万行 C 与 C++ 代码且没有汇编文件;另有 526 处 `// COMPILER-DIFF:` 标记,在不生成额外指令的前提下引导编译器选择相同的寄存器或指令顺序。其余内联汇编几乎都位于原厂同样以汇编编写的例程中。产物是调试原型版的 DOL 与 REL,不是零售版构建,也不是 PC 移植。
  • 需将自备的两张调试版光盘镜像放入 orig/G4BE08/:光盘 1 提供 main.dol 和大部分 REL,光盘 2 提供岛屿关卡的四个 REL,configure.py 还会从中读取对应的 Bio4 符号文件。游戏代码所用编译器需从 SN Systems 公开的 ProDG 3.9.3 GCC 移植版 GPL 源码构建,该源码同样由使用者自备。仓库不含游戏素材。
  • 文档说明的构建宿主为 Linux,需 Python 3 与 ninja。tools/sn-gcc/build.sh 会结合项目的 Linux 宿主补丁和内存标志补丁,一次性在本机构建 SN 的 GCC 2.95.3(SN BUILD v1.79);CRI 中间件使用 Metrowerks CodeWarrior 2.4.7 构建,取自 dolsdk2004 的 Nintendo SDK 则使用 GC/1.2.5n。首次运行 configure 会下载固定版本的 decomp-toolkit、objdiff、wibo 和 CodeWarrior 编译器包。
  • 构建成功时,ninja 应在最后报告 100% 匹配并完成链接,按 config/G4BE08/build.sha1 运行 dtk shasum 应对全部 115 个二进制文件输出 OK;tools/bytecmp.py 用于比较单个单元,tools/asmcheck.py --all 统计由 asm 模板生成的指令数,任何修改都不得改变该总数。仓库没有 CI 工作流或发布版本,因此这些结果均为项目报告,本合集未进行任何构建。
  • LICENSE 仅将 CC0 用于项目自行编写的构建脚本、工具、配置与文档。README 与 LICENSE 声明,src/ 与 include/ 中重建的游戏、SDK 及中间件源码仍归 Capcom、Nintendo 与 CRI Middleware 所有,仅为研究与保存目的发布。docs/research/README.md 称其中的匹配笔记由完成匹配工作的 AI 智能体撰写;未记录 REA 的使用。

关于此条目

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

来源复核于

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

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · adonis-singh/re4 · 修订 9b76ff0
  2. LICENSE GitHub · adonis-singh/re4 · 修订 9b76ff0
  3. CONTRIBUTING.md GitHub · adonis-singh/re4 · 修订 9b76ff0
  4. configure.py GitHub · adonis-singh/re4 · 修订 9b76ff0
  5. config/G4BE08/build.sha1 GitHub · adonis-singh/re4 · 修订 9b76ff0
  6. tools/sn-gcc/build.sh GitHub · adonis-singh/re4 · 修订 9b76ff0
  7. tools/extract_orig.py GitHub · adonis-singh/re4 · 修订 9b76ff0
  8. docs/naming.md GitHub · adonis-singh/re4 · 修订 9b76ff0
  9. docs/research/README.md GitHub · adonis-singh/re4 · 修订 9b76ff0

同分区更多条目:游戏

游戏分区全部 231 项资源游戏案例(189)