# Decomp Academy 一致性反编译课程

> 由 Jack Price-Burns 维护的免费英文在线课程，在浏览器中教授一致性反编译：学习者阅读函数的目标汇编，编写 C 代码，再由原版主机编译器逐字节评判结果。课程从读寄存器和算术运算讲起，依次覆盖控制流、结构体、浮点、ABI、全局变量、优化器行为和 64 位整数，最后以改编自开源反编译项目的函数收尾。课程目前包括 GameCube PowerPC、Game Boy Advance Thumb 和 Nintendo 64 MIPS 三门，前端源码公开在 GitHub 上。

- 类型：学习资源
- 目标：二进制 · 游戏
- 类别：学习资源
- 关联：学习资源
- 来源复核于：2026-10-19
- 收录于：2026-10-27
- 原始资源：<https://decomp-academy.dev/>
- 一手来源：<https://github.com/JackPriceBurns/decomp-academy-fe/blob/a21f9d00dcdcb00936c3f0369f396b555e893d93/README.md>
- 目录页面：<https://awesomerea.org/zh/resources/decomp-academy/>
- 记录 JSON：<https://awesomerea.org/resources/decomp-academy/record.json>
- 英文版：[English](https://awesomerea.org/resources/decomp-academy/index.md)

## 使用条件与局限

- 审阅的前端提交为 a21f9d0（2026-09-23）；仓库于 2026 年 6 月首次发布，此后大多数月份都有提交。README 仍只描述一门 258 课的 GameCube 课程，但所审阅的课程目录和在线站点列出了三门课程共 755 课：GameCube（263 课）、Game Boy Advance（251 课）和 Nintendo 64（241 课），每门分为从热身到真实函数的四个层级。
- 课程在浏览器中进行（decomp-academy.dev），README 称无需注册即可开始，账户用于保存进度。评分时用原版编译器编译学习者的 C 代码，再用 objdiff 比对：GameCube 使用 Metrowerks CodeWarrior GC/2.0，Nintendo 64 使用 SGI IDO 5.3，二者在托管后端运行。后端是另一个 AGPL-3.0 仓库，README 称它在 wibo 下运行 CodeWarrior 编译器；Game Boy Advance 则在浏览器中使用编译为 WebAssembly 的 agbcc。
- 无需任何游戏文件：后期课程改编自 README 致谢的开源反编译项目（Star Fox Adventures、Pikmin 2、Metroid Prime、Mario Party 4）中的函数，目标汇编由服务器根据每课的参考 C 代码生成。本仓库不含任何编译器，后端 README 也称其只提交了 wibo，未提交 MWCC；README 说明本地开发需要 Node 18+，以及一个同级目录下提供 MWCC 和 binutils 的 Star Fox Adventures 反编译项目检出，而 .env.example 称全新克隆默认使用托管的编译 API。
- 前端采用 AGPL-3.0 许可证，修改后作为网络服务运行的版本同样受其约束。仓库中提交了一份供 Claude Code 使用的课程编写指南 CLAUDE.md。

## 一手来源

1. <https://github.com/JackPriceBurns/decomp-academy-fe/blob/a21f9d00dcdcb00936c3f0369f396b555e893d93/README.md>
2. <https://github.com/JackPriceBurns/decomp-academy-fe/blob/a21f9d00dcdcb00936c3f0369f396b555e893d93/src/curriculum/01-gamecube-c/_course.md>
3. <https://github.com/JackPriceBurns/decomp-academy-fe/blob/a21f9d00dcdcb00936c3f0369f396b555e893d93/src/curriculum/02-gba/_course.md>
4. <https://github.com/JackPriceBurns/decomp-academy-fe/blob/a21f9d00dcdcb00936c3f0369f396b555e893d93/src/curriculum/03-n64-c/_course.md>
5. <https://github.com/JackPriceBurns/decomp-academy-fe/blob/a21f9d00dcdcb00936c3f0369f396b555e893d93/src/curriculum/01-gamecube-c/04-proving-ground/01-mastery/001-spellstone-setstate.md>
6. <https://github.com/JackPriceBurns/decomp-academy-fe/blob/a21f9d00dcdcb00936c3f0369f396b555e893d93/.env.example>
7. <https://github.com/JackPriceBurns/decomp-academy-fe/blob/a21f9d00dcdcb00936c3f0369f396b555e893d93/CLAUDE.md>
8. <https://github.com/JackPriceBurns/decomp-academy-fe/blob/a21f9d00dcdcb00936c3f0369f396b555e893d93/LICENSE>
9. <https://github.com/JackPriceBurns/decomp-academy-be/blob/d80447dad332e9c15ac4549d8d42a28a0a9daedd/README.md>

## 同分区更多条目：文档与学习资源

- [OWASP 固件安全测试方法论（FSTM）](https://awesomerea.org/zh/resources/owasp-fstm/index.md) · 学习资源
- [Emproof 固件逆向工程研讨会](https://awesomerea.org/zh/resources/emproof-firmware-re-workshop/index.md) · 学习资源
- [《iOS 应用逆向工程》英文版](https://awesomerea.org/zh/resources/ios-app-reverse-engineering-book/index.md) · 学习资源
- [Frida Snippets Frida 插桩示例集](https://awesomerea.org/zh/resources/frida-snippets/index.md) · 学习资源
- [iOSRE：iOS 逆向工程参考资料](https://awesomerea.org/zh/resources/kpwn-iosre/index.md) · 学习资源
- [linux-re-101 Linux 逆向工程阅读清单](https://awesomerea.org/zh/resources/linux-re-101/index.md) · 学习资源

## 关于此条目

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