Learning resource
Decomp Academy
A free, English, in-browser course in matching decompilation maintained by Jack Price-Burns: learners read a function's target assembly, write C, and the original console compiler grades the result byte for byte. Lessons build from reading registers and arithmetic through control flow, structs, floating point, the ABI, globals, optimizer behaviour and 64-bit integers, then finish with functions adapted from open-source decompilation projects. The curriculum now spans GameCube PowerPC, Game Boy Advance Thumb and Nintendo 64 MIPS courses, and the frontend source is on GitHub.
- Targets
- Binary · Game
- Category
- Learning resources
- Relationship
- Learning resource
- Sources reviewed
Requirements & limits
- Reviewed at frontend commit a21f9d0 (2026-09-23); the repository was first published in June 2026 and has had commits most months since. The README still describes a single GameCube course of 258 lessons, but the reviewed curriculum and the live site list 755 lessons in three courses: GameCube (263), Game Boy Advance (251) and Nintendo 64 (241), each in four tiers from warm-up to real functions.
- Lessons run in the browser at decomp-academy.dev and the README says no signup is needed to start; an account stores progress. Grading compiles the learner's C with the original compilers and diffs it using objdiff: Metrowerks CodeWarrior GC/2.0 for GameCube and SGI IDO 5.3 for Nintendo 64 on the hosted backend, a separate AGPL-3.0 repository that the README says runs the CodeWarrior compilers under wibo, and agbcc built to WebAssembly in the browser for Game Boy Advance.
- No game files are needed: the later lessons adapt functions from open-source decompilation projects the README credits (Star Fox Adventures, Pikmin 2, Metroid Prime, Mario Party 4), and targets are generated server-side from each lesson's reference C. This repository contains no compiler, and the backend README says it commits only wibo, not MWCC; for local development the README expects Node 18+ and a sibling Star Fox Adventures decompilation checkout that supplies MWCC and binutils, while .env.example says a fresh clone uses the hosted compile API by default.
- The frontend is AGPL-3.0, which also covers modified versions run as a network service. A CLAUDE.md lesson-authoring guide for Claude Code is committed.
About this entry
The description was reviewed against primary sources.
Primary sources
- README.md GitHub · JackPriceBurns/decomp-academy-fe · Revision a21f9d0
- src/curriculum/01-gamecube-c/_course.md GitHub · JackPriceBurns/decomp-academy-fe · Revision a21f9d0
- src/curriculum/02-gba/_course.md GitHub · JackPriceBurns/decomp-academy-fe · Revision a21f9d0
- src/curriculum/03-n64-c/_course.md GitHub · JackPriceBurns/decomp-academy-fe · Revision a21f9d0
- src/curriculum/01-gamecube-c/04-proving-ground/01-mastery/001-spellstone-setstate.md GitHub · JackPriceBurns/decomp-academy-fe · Revision a21f9d0
- .env.example GitHub · JackPriceBurns/decomp-academy-fe · Revision a21f9d0
- CLAUDE.md GitHub · JackPriceBurns/decomp-academy-fe · Revision a21f9d0
- LICENSE GitHub · JackPriceBurns/decomp-academy-fe · Revision a21f9d0
- README.md GitHub · JackPriceBurns/decomp-academy-be · Revision d80447d
More in References and learning
- OWASP Firmware Security Testing Methodology (FSTM) · Learning resource
- Emproof workshop: Firmware Reverse Engineering · Learning resource
- iOS App Reverse Engineering · Learning resource
- Frida Snippets · Learning resource
- iOSRE: iOS Reverse Engineering reference · Learning resource
- linux-re-101 · Learning resource