← cd ../
~/labs/workshops/gba-firered
Reverse engineering GBA gamesFrom zero to your first patch: take Pokemon FireRed, understand how it works internally, and change game behavior with your own code.
- 00 Start here Workshop overview, prerequisites, and lesson order.
- 01 The GBA architecture The hardware, ARM7TDMI CPU, and console memory map.
- 02 Reading ARM and Thumb Registers, instructions, and how to read the CPU's machine code.
- 03 Tools and setup mGBA, Ghidra, Python, Capstone, and GDB ready for class.
- 04 Static analysis in Ghidra Follow the boot path from the only known address and infer the structure until you find the main loop.
- 05 Dynamic analysis: finding HP Find HP in RAM with mGBA and GDB, and find the instruction that applies damage.
- 06 Finding and cleaning up the function Close the HP function in Ghidra and make the decompile readable: real before and after.
- 07 The first patch Write, assemble, and install a hook that makes the enemy faint in one hit.