案例

Himuro:Fatal Frame(《零》)PS2 一致性反编译

将 Fatal Frame(《零》)PS2 可执行文件的美版、欧版和日版重建为 C,使用原始的 EE-GCC 2.9 工具链构建,并以使用者自备可执行文件的 SHA-1 校验结果。仓库提交的 objdiff 报告显示美版和欧版代码已全部匹配、日版仅部分匹配,少数例程仍依赖汇编或字节补丁。移植到现代硬件是项目声明的后续目标,不在本仓库范围内。

使用条件与局限

  • 涵盖 SLUS_203.88(美版)、SLES_508.21(欧版)和 SLPS_250.74(日版);产物是重建的 PS2 ELF,而非 PC 移植,README 只把移植列为后续目标。经项目自带的报告调整脚本处理后,已提交的 objdiff 报告显示美版 3,437 个函数、欧版 3,464 个函数全部匹配,代码与数据均为 100%;日版则为 3,394 个函数中匹配 2,712 个(代码 73.64%)。README 中的 decomp.dev 徽章会随时变化。
  • 需从自有光盘或 ISO 将对应的主可执行文件复制到 config/<地区>/ 中,README 给出了各地区所需的 SHA-1。数据提取、代码拆分和预期汇编都在本地生成,仓库不提交游戏素材。
  • 必须使用 Linux:需虚拟环境中的 Python 3.8+、make、供仓库内 32 位 EE-GCC 2.9-991111-01 编译器运行的 i386 libc/libstdc++,以及另行安装的 decompals PS2 binutils v0.10;仓库也提交了 objdiff-cli。各地区版本需分别提取、配置和构建。
  • ninja 构建会依据 config/<地区>/checksum.sha1 运行 sha1sum,因此构建成功即重现所提供的可执行文件。为达到该哈希,构建会按 asm_patches.json 改写部分编译器输出,并把列出的字节范围从原始可执行文件复制到构建产物中(美版与欧版的 PhotoScoreCount、欧版的 DspSpData)。CI 只上传已提交的报告,没有可执行文件就无法构建;本合集未重跑任何构建。
  • 项目采用 MIT 许可;Fatal Frame 及其可执行文件另有权利约束,仓库中的编译器二进制文件也适用各自条款。所审来源未确立 AI 或 REA 使用归因,报告中 X 帖子的存档链接也未作为证据使用。

关于此条目

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

来源复核于

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

一手来源

  1. README.md GitHub · Mikompilation/Himuro · 修订 595b082
  2. LICENSE GitHub · Mikompilation/Himuro · 修订 595b082
  3. configure.py GitHub · Mikompilation/Himuro · 修订 595b082
  4. Makefile GitHub · Mikompilation/Himuro · 修订 595b082
  5. config/us/checksum.sha1 GitHub · Mikompilation/Himuro · 修订 595b082
  6. config/us/report.json GitHub · Mikompilation/Himuro · 修订 595b082
  7. config/eu/report.json GitHub · Mikompilation/Himuro · 修订 595b082
  8. config/jp/report.json GitHub · Mikompilation/Himuro · 修订 595b082
  9. config/us/bin_patches.json GitHub · Mikompilation/Himuro · 修订 595b082
  10. config/eu/bin_patches.json GitHub · Mikompilation/Himuro · 修订 595b082
  11. config/us/asm_patches.json GitHub · Mikompilation/Himuro · 修订 595b082
  12. tools/python/fix_bin_matching.py GitHub · Mikompilation/Himuro · 修订 595b082
  13. tools/python/fix_report.py GitHub · Mikompilation/Himuro · 修订 595b082
  14. .github/workflows/progress.yml GitHub · Mikompilation/Himuro · 修订 595b082