公开的 GitHub 仓库 `adonis-singh/re4` 声称,已对《生化危机4》的 GameCube 调试构建 `G4BE08` 完成字节级完全一致的反编译。项目称,其 C/C++ 构建能够完全一致地重现 `main.dol` 和全部 114 个 REL 覆盖模块,也就是游戏的主可执行文件和可重新加载的代码模块。
文章以这个仓库开篇;它指明了整篇报道持续讨论的《生化危机4》GameCube 调试构建重建项目。
该仓库报告称,项目约有 571,000 行源代码、43,000 行头文件、1,083 个对象以及 23,289 个函数符号。项目表示,这些名称来自调试构建的 `Bio4.sym` 符号文件,而文件边界则是根据二进制文件中残留的字符串推断出来的。正因如此,即使它并不是对遗失源代码的简单恢复,该成果对研究人员仍然有价值。
其核心验证过程异常严格:每个单元都使用原始编译器进行编译,再与原始字节进行比较。项目报告称,`ninja` 完成后,DOL 和 REL 模块的匹配率达到 100%,其 SHA-1 检查会输出 115 行 `OK`。简单来说,重建后的机器代码正在与随游戏发行的代码进行比对,而不仅仅是在测试行为是否相似。
这并不意味着每一行源代码都是自然的重建结果。README 记录了 578 个 `COMPILER-DIFF` 标记,用于复现寄存器分配或指令调度等编译器选择。大多数标记被描述为不会产生输出代码的结构,而其余汇编代码据称对应原始开发者同样以汇编语言编写的代码。这一区别很重要:字节级一致性验证的是构建输出,而不是每一处源代码写法的可读性或历史真实性。
该项目不包含从光盘中复制或提取的游戏素材或代码,并要求用户自行提供调试版光盘的镜像文件。项目还声明,重建的游戏和 SDK 源代码仍归各自所有者所有,而项目自身的构建脚本、工具和文档则以 CC0 发布。该项目并不能独立确定重建工作的法律地位,因此不应把仓库对保存研究的表述解读为法律结论。