Show HN:Decomp Academy —— 学习将GameCube游戏反编译为匹配C代码
Decomp Academy 是一个交互式学习平台,教你如何将 GameCube 游戏的 PowerPC 汇编代码反编译为匹配的 C 代码。网站内置了 Metrowerks CodeWarrior GC/2.0 实时编译器,将你写的 C 转换成汇编后与目标汇编逐指令逐比特比对,哪怕差一个指令或一个比特都算失败——这是游戏反编译领域的黄金标准。目前已有 250 多节课程,从零基础入门,部分课程使用《星际火狐大冒险》《马力欧派对4》《皮克敏》《密特罗德 Prime》等真实开源反编译项目中的函数作为练习。网站完全免费、开源,无需注册即可学习全部课程。
背景速读
- **GameCube 逆向编译(Decompilation)**:指将 GameCube 游戏机上的二进制机器码(PowerPC 汇编)还原成可读的 C 源代码,要求还原结果与原版编译器的输出逐指令、逐比特完全一致("matching"),这是逆向工程领域最严格的标准。
- **Metrowerks CodeWarrior**:GameCube 时代任天堂官方使用的编译器。本教程在线模拟该编译器,用户写 C 代码后实时生成汇编,并与目标汇编逐条对比,任何差异都算失败。
- **Open Source 逆向项目**:社区通过逆向编译为经典游戏(如《星际火狐大冒险》《皮克敏》《密特罗德 Prime》)重建可维护的现代 C/C++ 代码库,使游戏能移植到新平台或被 mod 社区利用。该项目旨在降低参与门槛。
- **发起人 JackPriceBurns** 以零经验自学逆向编译后制作了本教程,250+ 课从零基础到实战,完全免费开源,鼓励社区贡献课程。