Decomp Academy:学习将 GameCube 汇编代码反编译为 C 语言代码,实时评分!

学习目标

从对寄存器一无所知,到逐指令匹配《星际火狐:冒险》(Star Fox Adventures)中的真实函数。编写 C 代码,2001 年的真实编译器会实时评分。从零开始学习

学习进度

课程总数 254 节,已解决课程数 0,掌握程度 0%,评分编译器为 `mwcceppc.exe`,来自 SFA-Decomp 实时项目的函数

匹配示例

目标代码你的输出
`lwz r0, 0x0(r3)``lwz r0, 0x0(r3)`
`lfs f1, 0x4(r3)``lfs f1, 0x4(r3)`
`fmuls f0, f0, f1``fmuls f0, f0, f1`
`fadds f0, f0, f2``fadds f0, f0, f2`
`stfs f0, 0x0(r4)``stfs f0, 0x0(r4)`
`blr``blr`

课程体系

阅读汇编代码,编写 C 代码,编译器逐字节进行评分。继续学习 →

进度统计

已匹配函数数 0 / 264,正在重构函数数 0,经验值(XP)0,学员状态:招募中

课程阶段划分

阶段一:热身学习读懂机器语言,了解反编译的概念、PowerPC 寄存器以及阅读 MWCC 输出结果。已完成课程数 0/6,难度等级 1,推荐课程:你的首次匹配、参数也存于寄存器中 等

阶段二:核心惯用法涵盖 C 语言编译后的各种形式,包括整数运算、位运算与移位、控制流、循环、类型与宽度、指针与内存、结构体与联合体、浮点运算等多个方面。已完成课程数 0/164,难度等级 2 - 9

阶段三:真实 ABI涉及函数与 ABI、全局变量、优化与调度、高级惯用法、64 位整数以及融合各方面知识的完整函数等内容。已完成课程数 0/80,难度等级 11 - 16

阶段四:实践检验使用《星际火狐:冒险》中的真实函数进行实践,从热身到完整的综合项目。已完成课程数 0/14,难度等级 17,推荐课程:一个真实的设置函数:状态、浮点微调与布尔返回值、带偏移的位置复制 等

关于 Decomp Academy

学习将 GameCube 的 PowerPC 汇编代码反编译为字节匹配的 C 语言代码,由真实的 Metrowerks CodeWarrior GC/2.0 编译器实时评分。GitHub 源码

学习资源

开始训练、在线实践区、术语表、课程目录 · 254 节课程

反编译项目

课程借鉴了开源 GameCube 反编译项目中的真实函数:《星际火狐:冒险》、《皮克敏 2》、《银河战士:Prime》、《马里奥派对 4》

社区资源

decomp.me、decomp.dev、反编译维基

本项目与任天堂、Rare、Retro Studios 或 Hudson Soft 无关联。《星际火狐:冒险》《皮克敏》《银河战士:Prime》和《马里奥派对》是其各自所有者的商标。链接的反编译项目是独立的社区项目。