案例
Animal Crossing: Wild World:附差分运行检查的韩版 DS 一致性反编译重建
将 Animal Crossing: Wild World 韩版 DS 游戏的 ARM9 游戏代码重建为每个函数一个 C 或 C++ 源文件,并用原版 Metrowerks 编译器和链接器对照使用者自己的 ROM 校验。每个函数另有可读的 Clean 改写版本,仓库自带的 DS 解释器在录制的游玩过程中比较 ROM 代码、原生编译的源码和改写版本。数据段、ARM7 程序、链接的 SDK 库及按原始源文件重新归组仍不在重建范围内。
使用条件与局限
- 仅覆盖韩版(ADMK)的 ARM9 代码。注明 2026-10-18 的验证页面报告,全部 25,247 个游戏函数通过字节与重定位检查,24,767 个已用 mwldarm 链接成与 ROM 一致的模块,17 个标为 FAKEMATCH。数据段大多仍经 ds-decomp 生成的目标文件取自 ROM;ARM7 程序、.bss 指针及按源文件重新归组尚未覆盖,多数名称仍是占位符。
- 需使用者自备哈希为 SHA-1 1fffd601d3439e37cd934e72d08e487a93fc449b 的韩版 ROM,以及 Metrowerks CodeWarrior for DS 编译器(mwccarm),两者均不随项目分发。NitroSDK、NitroSystem、含 GameSpy SDK 的 NitroDWC、NitroWiFi 及 Metrowerks 运行库(共 4,083 个函数)不在仓库中,缺失时工具会将其计为未反编译。
- 提取、校验与链接由 Python 3.11+ 驱动,整程序链接和模块比对由 ds-decomp 的 dsd v0.12.1 完成。Linux 和 macOS 通过 wibo 运行该 Windows 编译器。PC 运行时以 32 位程序构建,Windows 上用 clang,Linux 上用 gcc。
- CI 在存放 ROM 和编译器的私有容器中运行。runtime.md 报告 Reference、Native 与 Clean 三种运行在 1,300 帧标题画面录制、13,760 帧新游戏录制及八个基于存档(存档不在仓库中)的场景中一致,另有三个场景仍有差异。所审提交的 GitHub Actions 构建通过了校验、链接与 Native 检查,但未通过 Clean 函数差分检查。本次审阅未运行上述任何检查。
- 仓库以 CC0 1.0 释出,并声明与 Nintendo 无关。ROM、编译器、SDK 库和测试存档各自保留权利。所审来源未说明 AI 或 REA 参与,也不主张运行复现。
关于此条目
- 类型
- 案例
- 类别
- 独立重建案例
- 关联
- 独立重建项目
- 目标
- 游戏
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · banatic/acww-decomp · 修订 c7e3256
- docs/verification.md GitHub · banatic/acww-decomp · 修订 c7e3256
- docs/runtime.md GitHub · banatic/acww-decomp · 修订 c7e3256
- INSTALL.md GitHub · banatic/acww-decomp · 修订 c7e3256
- libs/README.md GitHub · banatic/acww-decomp · 修订 c7e3256
- docs/ci.md GitHub · banatic/acww-decomp · 修订 c7e3256
- .github/workflows/build.yml GitHub · banatic/acww-decomp · 修订 c7e3256
- LICENSE GitHub · banatic/acww-decomp · 修订 c7e3256
- https://github.com/banatic/acww-decomp/actions/runs/39115041988