projectPiki/pikmin

GitHub: projectPiki/pikmin

GameCube 游戏《皮克敏》的粉丝反编译项目,旨在将原始二进制还原为可编译的源代码以实现精确重建。

Stars: 260 | Forks: 24

# Pikmin [![Build Status]][actions] [![Code Progress]][progress] [![Data Progress]][progress] [![Linked Progress]][progress] [![Discord Badge]][discord] Pikmin(GameCube,2001)的正在进行的反编译项目。 支持的版本(活跃): - `GPIE01_01`: USA (Rev 1) - 默认版本 - `GPIE01_00`: USA (Rev 0) - `G98E01_PIKIDEMO`: USA 互动多游戏试玩盘 - 2002年1月 "zz_PikminDemo-1210.tgc" - `GPIP01_00`: Europe (Rev 0) 支持的版本(待开发): - `DPIJ01_PIKIDEMO`: 店頭ゲームデモディスク 2001年10月(Pikmin 実演用 Sample Disc)"zz_pikmin_game/PikiDemo.tgc" - `GPIJ01_01`: Japan (Rev 1) - `GPIJ01_02`: Japan (Rev 2) - `G98P01_PIKIDEMO`: Europe 互动多游戏试玩盘 - 2002年5月 "zz_PikiDemo.tgc" 注意:此代码库**不包含任何游戏资源** - 需要已有的游戏副本。 ## 目录 - [依赖项](#dependencies) - [Windows](#windows) - [macOS](#macos) - [Linux](#linux) - [构建](#building) - [比对](#diffing) ## 依赖项 ### Windows 在 Windows 上,**强烈建议**使用原生工具链。**不**需要使用 WSL 或 msys2。 在 WSL 下运行时,[objdiff](#diffing) 无法获取文件系统通知以进行自动重新构建。 ### macOS - 安装 [ninja](https://github.com/ninja-build/ninja/wiki/Pre-built-Ninja-packages): brew install ninja - 安装 [wine-crossover](https://github.com/Gcenx/homebrew-wine): brew install --cask --no-quarantine gcenx/wine/wine-crossover 在操作系统升级后,如果 macOS 提示 `Wine Crossover.app` 未经验证,你可以使用以下命令取消隔离: ``` sudo xattr -rd com.apple.quarantine '/Applications/Wine Crossover.app' ``` ### Linux - 安装 [ninja](https://github.com/ninja-build/ninja/wiki/Pre-built-Ninja-packages)。 - 对于非 x86(_64) 平台:从你的包管理器安装 wine。 - 对于 x86(_64),[wibo](https://github.com/decompals/wibo)(一个最小化的 32 位 Windows 二进制包装器)将被自动下载并使用。 ## 构建 - 克隆代码库: git clone https://github.com/projectPiki/pikmin.git - 将你的游戏光盘镜像复制到 `orig/GPIE01_01`。(或者相应的版本文件夹中。) - 支持的格式:ISO (GCM), RVZ, WIA, WBFS, CISO, NFS, GCZ, TGC - 初始构建完成后,可以删除光盘镜像以节省空间。 - 配置: python configure.py 要使用 `GPIE01_01` 以外的版本,请添加 `--version`。添加 `--help` 可查看所有可用选项。 - 构建: ninja ## 比对 初始构建成功后,项目根目录下应存在一个 `objdiff.json`。 从 [encounter/objdiff](https://github.com/encounter/objdiff) 下载最新版本。在项目设置中,设置 `Project directory`。配置文件应该会自动加载。 从左侧边栏选择一个对象以开始比对。项目的更改将自动重新构建:包括对源文件、头文件、`configure.py`、`splits.txt` 或 `symbols.txt` 的更改。
标签:UML, 客户端加密, 逆向工具