学习资源

Decomp Academy 一致性反编译课程

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

使用条件与局限

  • 审阅的前端提交为 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 许可证,修改后作为网络服务运行的版本同样受其约束。本合集阅读了 README、课程元数据、一节真实函数课程和在线首页,没有解答课程或检验评分。仓库中提交了一份供 Claude Code 使用的课程编写指南 CLAUDE.md,但 README 未说明课程是如何编写的,也未提及 REA。

关于此条目

类型
学习资源
类别
学习资源
关联
学习资源
目标
二进制 · 游戏

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

报告条目过时 建议修正翻译

一手来源

  1. README.md GitHub · JackPriceBurns/decomp-academy-fe · 修订 a21f9d0
  2. src/curriculum/01-gamecube-c/_course.md GitHub · JackPriceBurns/decomp-academy-fe · 修订 a21f9d0
  3. src/curriculum/02-gba/_course.md GitHub · JackPriceBurns/decomp-academy-fe · 修订 a21f9d0
  4. src/curriculum/03-n64-c/_course.md GitHub · JackPriceBurns/decomp-academy-fe · 修订 a21f9d0
  5. src/curriculum/01-gamecube-c/04-proving-ground/01-mastery/001-spellstone-setstate.md GitHub · JackPriceBurns/decomp-academy-fe · 修订 a21f9d0
  6. .env.example GitHub · JackPriceBurns/decomp-academy-fe · 修订 a21f9d0
  7. CLAUDE.md GitHub · JackPriceBurns/decomp-academy-fe · 修订 a21f9d0
  8. LICENSE GitHub · JackPriceBurns/decomp-academy-fe · 修订 a21f9d0
  9. README.md GitHub · JackPriceBurns/decomp-academy-be · 修订 d80447d

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

文档与学习资源分区全部 43 项资源