在 GitHub 上加星Star1.1k 个星标

案例

《天空之剑》:以哈希校验重新链接的 Wii 版反编译

以使用者自备的 NTSC-U 1.0(SOUE01)光盘文件为起点,为《塞尔达传说 天空之剑》Wii 版的 main.dol 和 REL 模块重建 C++ 源码。标为一致的对象由源码编译,再与从原文件拆分出的其余对象链接,并以 SHA-1 哈希校验结果;仓库不含素材或汇编,也不是移植。

目标
游戏
类别
独立重建案例
关联
独立重建项目
来源复核于

使用条件与局限

  • 前提条件:构建需要使用者自己的 SOUE01 游戏:README 指明只需其数据分区中的 sys/main.dol 和 files/rels.arc。仓库不含游戏素材或汇编;decomp-toolkit 依据 config/SOUE01 中的输入哈希和拆分表,在本地将使用者的文件拆分为对象。
  • 前提条件:在 Windows 上可直接用 Python 与 ninja 构建;Linux/macOS 需 ninja,并会自动下载 wibo 包装器。configure.py 固定 decomp-toolkit v1.7.1、objdiff v3.4.1、binutils 2.42-1 及 20250812 编译器包,大部分代码选用 Metrowerks Wii/1.5,大部分 NW4R 代码选用 Wii/1.3;开发时用 objdiff 逐个对象比对。
  • 范围:README 称其为进行中的 Wii 版反编译,目前唯一支持的版本是 SOUE01(NTSC-U 1.0);configure.py 还列出 SOUP01,但固定版本中只有 SOUE01 的配置。产物是 Wii 用的重建 main.dol 和 REL 组,不是 PC 可执行文件或移植。
  • 测试证据:默认 ninja 目标只对标为 Matching 的单元(configure.py 中有 493 个,另有 536 个仍为 NonMatching)链接由源码编译的对象,其余单元使用从原文件提取的对象,再按 build.sha1 校验 main.dol 和 636 个 REL。校验通过表示输出一致。decomp.dev 针对该固定提交的报告显示,27.89% 的代码字节及 76,968 个函数中的 33,940 个已匹配;CI 使用存放游戏文件的私有容器。
  • 许可:仓库采用 CC0-1.0;该声明不涵盖任天堂的游戏及其文件,也不涵盖下载的编译器。

关于此条目

说明已依据一手来源复核。

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

一手来源

  1. README.md GitHub · zeldaret/ss · 修订 d3d8e3c
  2. configure.py GitHub · zeldaret/ss · 修订 d3d8e3c
  3. tools/project.py GitHub · zeldaret/ss · 修订 d3d8e3c
  4. config/SOUE01/config.yml GitHub · zeldaret/ss · 修订 d3d8e3c
  5. config/SOUE01/build.sha1 GitHub · zeldaret/ss · 修订 d3d8e3c
  6. LICENSE GitHub · zeldaret/ss · 修订 d3d8e3c
  7. .github/workflows/build.yml GitHub · zeldaret/ss · 修订 d3d8e3c
  8. https://decomp.dev/zeldaret/ss
  9. https://web.archive.org/web/20261020041301/https://decomp.dev/zeldaret/ss/SOUE01/d3d8e3cbf3d353b2231f06690965cac5366e28a1.json

同分区更多条目:游戏

游戏分区全部 318 项资源游戏案例(239)

↑↓ 移动↵ 打开⌘↵ 新标签页