# 《皮克敏2》：覆盖五个版本、已完全匹配的 GameCube 反编译

> 由爱好者进行的《皮克敏2》反编译项目：用原版 Metrowerks 编译器为五个 GameCube 版本（美版零售版、两个美版体验版、PAL 版和日版）重建 main.dol，并逐一与仓库保存的 SHA-1 比对。构建读取使用者自有各版本中的 main.dol。decomp.dev 报告所审提交中各版本的代码均已全部匹配并完全链接；另有非一致性模式，可完全由 C++ 源码构建美版 DOL 以供模组制作。

- 类型：案例
- 目标：游戏
- 类别：独立重建案例
- 关联：独立重建项目
- 来源复核于：2026-10-19
- 收录于：2026-10-28
- 原始资源：<https://github.com/projectPiki/pikmin2>
- 一手来源：<https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/README.MD>
- 目录页面：<https://awesomerea.org/zh/resources/pikmin-2-matching-decomp-case/>
- 记录 JSON：<https://awesomerea.org/resources/pikmin-2-matching-decomp-case/record.json>
- 英文版：[English](https://awesomerea.org/resources/pikmin-2-matching-decomp-case/index.md)

## 使用条件与局限

- README 仍称其为进行中的反编译项目，并列出五个支持版本：GPVE01（美版零售版，默认）、GPVE01_D17 与 GPVE01_D18（美版体验版 17 和 18）、GPVP01（PAL 版）以及 GPVJ01（日版）。每个版本都有各自的配置和 SHA-1 文件，CI 会构建全部五个版本。产物是 GameCube DOL，不是 PC 可执行文件或移植。
- 每个版本都需要使用者自有该版本中的 main.dol，放在 orig/<version>/sys/main.dol；decomp-toolkit 在拆分前会按该版本 config.yml 中的哈希进行校验。仓库为每个版本提交了源自游戏的符号表和拆分表；配置注释称 GPVE01 的符号由 pikmin2UP.MAP 链接映射生成，日版和 PAL 版的表则以美版符号为基础从各自 DOL 中恢复。仓库不含光盘镜像或提取出的游戏文件。
- 构建需要 Python 与 ninja，可在 Windows（推荐原生工具）、macOS（需 wine-crossover）或 Linux（x86 上自动下载 wibo，其他架构用 Wine）上进行。configure.py 固定 decomp-toolkit v1.7.5、objdiff v3.4.1、binutils 2.42-1、sjiswrap v1.2.2、wibo 1.0.0-beta.5 及 20250812 编译器包；游戏、JSystem 和运行时代码使用 Metrowerks GC/2.6，Dolphin SDK 库使用 GC/1.2.5n。
- configure.py 将 1,154 个目标文件标为对所有支持版本均一致，另有一个仅对日版一致；没有标为 NonMatching 的项。默认 ninja 目标会先按 config/<version>/build.sha1 校验链接出的 DOL，再报告进度；CI 在提供原始文件和编译器的容器中构建全部五个版本。decomp.dev 针对该固定提交的各版本报告均显示代码 100.00% 已匹配并完全链接（GPVE01 为 24,957 个函数、1,153 个单元）。
- README 称使用 --non-matching 时会关闭最终哈希校验，美版 DOL 将完全由 C++ 源码构建，据团队所知在功能上等价，因此每个文件都可修改用于模组制作。仓库在 LICENSE.MD 中采用 CC0-1.0；任天堂的游戏及其文件、下载的编译器不在该声明范围内。

## 一手来源

1. <https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/README.MD>
2. <https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/configure.py>
3. <https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/config/GPVE01/config.yml>
4. <https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/config/GPVE01/build.sha1>
5. <https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/config/GPVJ01/config.yml>
6. <https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/tools/project.py>
7. <https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/.github/workflows/build.yml>
8. <https://github.com/projectPiki/pikmin2/blob/ffbd853726427f2e90cd201aaca90dc82b34f990/LICENSE.MD>
9. <https://decomp.dev/projectPiki/pikmin2>

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

- [pokecrystal：一致构建的《精灵宝可梦 水晶》反汇编](https://awesomerea.org/zh/resources/pokecrystal-disassembly-case/index.md) · 案例
- [pokered：一致构建的《精灵宝可梦 红／蓝》反汇编](https://awesomerea.org/zh/resources/pokered-disassembly-case/index.md) · 案例
- [pokeruby：一致构建的《精灵宝可梦 红宝石／蓝宝石》反编译](https://awesomerea.org/zh/resources/pokeruby-decomp-case/index.md) · 案例
- [《宝可梦 绿宝石》：生成一致 ROM 的 Game Boy Advance 反编译重建](https://awesomerea.org/zh/resources/pokemon-emerald-decomp-case/index.md) · 案例
- [《宝可梦 火红／叶绿》：生成一致 ROM 的 Game Boy Advance 反编译重建](https://awesomerea.org/zh/resources/pokemon-firered-leafgreen-decomp-case/index.md) · 案例
- [《宝可梦 心金／魂银》：校验一致的进行中 DS 反汇编项目](https://awesomerea.org/zh/resources/pokemon-heartgold-soulsilver-disassembly-case/index.md) · 案例

## 关于此条目

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