# wii-ipl：Wii Menu（System Menu 4.3）的反编译重建

> Wii Menu（即主机的 System Menu，IPL）的反编译重建，仍在进行中，针对 4.3 版的美、欧、日、韩四个版本。项目重建菜单自身的代码，以及链接进其中的 Revolution SDK、NintendoWare（NW4R）、EGG 和中间件库，并借助 decomp-toolkit 与 objdiff 逐个编译单元与原可执行文件比对。仓库不含任何素材或汇编；构建需要使用者自己的 Wii Menu WAD，且只生成 main.dol。

- 类型：案例
- 目标：固件 · 游戏
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-19
- 收录于：2026-10-27
- 原始资源：<https://github.com/koopthekoopa/wii-ipl>
- 一手来源：<https://github.com/koopthekoopa/wii-ipl/blob/f4c09f4001c5a0b9af734ad1e3f80a54c5e5723c/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/wii-menu-ipl-decomp-case/>
- 记录 JSON：<https://awesomerea.org/resources/wii-menu-ipl-decomp-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/wii-menu-ipl-decomp-case/index.md)

## 使用条件与局限

- 所审阅的 main 提交没有发行版或标签。decomp.dev 针对该提交的报告显示，4.3U 的代码匹配率为 58.5%，12,563 个函数中有 8,837 个匹配（70.3%），完全链接的代码占 45.2%，其中菜单自身代码的匹配率为 53.6%；各库的 README 标明 RVL_SDK、NW4R、EGG、RevoEX 及中间件各组件是一致、等价还是尚未一致。构建只生成 main.dol 而非 WAD，README 还警告由于不生成 SEL 文件，代码并非完全可移位。
- 使用者需自备所选版本的 Wii Menu 4.3 WAD（默认 4.3U，也可选 4.3E、4.3J 或 4.3K）；README 声明仓库不含任何素材或该可执行文件的汇编。每个版本的配置都固定了目标 main.dol 的 SHA-1。
- 构建需要 Python 和 Ninja，可在 Windows、macOS 或 Linux 上进行。configure.py 固定 decomp-toolkit v1.7.5、objdiff v3.4.5、binutils 2.42-1 以及 Metrowerks CodeWarrior 的 20251118 编译器包（链接器版本为 GC/3.0a5.2），在 macOS 和 Linux 上由 wibo 运行 32 位 Windows 工具。CONTRIBUTING 列出 Ghidra（含共享项目）、IDA/Hex-Rays、m2c 和 decomp.me 作为反编译辅助，并用 objdiff 做差异比较。
- CI 在提供原始文件的私有容器中构建全部四个版本，并上传映射文件和进度报告；上述百分比即来自这些报告。
- LICENSE 为 CC0 1.0。BTE 蓝牙库注明含有取自 Android bluedroid 的代码，采用 Apache-2.0；GameSpy SDK 子集采用 BSD-3-Clause。反编译的第三方中间件（JustSystems ATOK、Zi eZiText、TMC JPEG、eSOL PrFILE2）及 Opera WWW 头文件没有单独授权，Wii Menu 本身的权利仍归 Nintendo。CONTRIBUTING 禁止用 AI 反编译代码，并要求避开仅靠 AI 追求完全一致的分叉。

## 一手来源

1. <https://github.com/koopthekoopa/wii-ipl/blob/f4c09f4001c5a0b9af734ad1e3f80a54c5e5723c/README.md>
2. <https://github.com/koopthekoopa/wii-ipl/blob/f4c09f4001c5a0b9af734ad1e3f80a54c5e5723c/CONTRIBUTING.md>
3. <https://github.com/koopthekoopa/wii-ipl/blob/f4c09f4001c5a0b9af734ad1e3f80a54c5e5723c/configure.py>
4. <https://github.com/koopthekoopa/wii-ipl/blob/f4c09f4001c5a0b9af734ad1e3f80a54c5e5723c/config/43U/config.yml>
5. <https://github.com/koopthekoopa/wii-ipl/blob/f4c09f4001c5a0b9af734ad1e3f80a54c5e5723c/config/43U/build.sha1>
6. <https://github.com/koopthekoopa/wii-ipl/blob/f4c09f4001c5a0b9af734ad1e3f80a54c5e5723c/.github/workflows/build.yml>
7. <https://github.com/koopthekoopa/wii-ipl/blob/f4c09f4001c5a0b9af734ad1e3f80a54c5e5723c/libs/RVL_SDK/README.md>
8. <https://github.com/koopthekoopa/wii-ipl/blob/f4c09f4001c5a0b9af734ad1e3f80a54c5e5723c/libs/NW4R/README.md>
9. <https://github.com/koopthekoopa/wii-ipl/blob/f4c09f4001c5a0b9af734ad1e3f80a54c5e5723c/libs/RVLMiddleware/README.md>
10. <https://github.com/koopthekoopa/wii-ipl/blob/f4c09f4001c5a0b9af734ad1e3f80a54c5e5723c/libs/RVL_SDK/src/bte/NOTICE>
11. <https://github.com/koopthekoopa/wii-ipl/blob/f4c09f4001c5a0b9af734ad1e3f80a54c5e5723c/src/scene/nakamuraTest/gamespy/README.md>
12. <https://github.com/koopthekoopa/wii-ipl/blob/f4c09f4001c5a0b9af734ad1e3f80a54c5e5723c/LICENSE>
13. <https://decomp.dev/koopthekoopa/wii-ipl/43U>

## 同分区更多条目：游戏

- [c1：PlayStation 版《古惑狼》的 C 语言移植](https://awesomerea.org/zh/resources/crash-bandicoot-c1-port-case/index.md) · 案例
- [Firefighter：将反编译的 DOS 游戏移植为 Rust](https://awesomerea.org/zh/resources/firefighter-rust-port-case/index.md) · 案例
- [Halo: Combat Evolved：逐步重新实现并修补进原版 Xbox 可执行文件](https://awesomerea.org/zh/resources/halo-ce-xbox-reimplementation-case/index.md) · 案例
- [keen-clone：Commander Keen 1 的 C/SDL2 移植](https://awesomerea.org/zh/resources/keen-clone-rea-commander-keen-case/index.md) · 案例
- [Metroid Dread：进行中的手工反编译](https://awesomerea.org/zh/resources/dreadcomp-case/index.md) · 案例
- [OpenGOAL：恢复 GOAL 代码并重建 Jak 系列游戏](https://awesomerea.org/zh/resources/opengoal-jak-case/index.md) · 案例

## 关于此条目

说明已依据一手来源复核。
原创说明采用 MIT 许可；外部项目、论文与素材保留各自的权利和许可。
