serrooT files
About Publications Projects Achievements Labs
EN PT
← 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.

  1. 00 Start here Workshop overview, prerequisites, and lesson order. →
  2. 01 The GBA architecture The hardware, ARM7TDMI CPU, and console memory map. →
  3. 02 Reading ARM and Thumb Registers, instructions, and how to read the CPU's machine code. →
  4. 03 Tools and setup mGBA, Ghidra, Python, Capstone, and GDB ready for class. →
  5. 04 Static analysis in Ghidra Follow the boot path from the only known address and infer the structure until you find the main loop. →
  6. 05 Dynamic analysis: finding HP Find HP in RAM with mGBA and GDB, and find the instruction that applies damage. →
  7. 06 Finding and cleaning up the function Close the HP function in Ghidra and make the decompile readable: real before and after. →
  8. 07 The first patch Write, assemble, and install a hook that makes the enemy faint in one hit. →
AchievementsGitHub ↗LinkedIn ↗Lattes ↗
Contact personal [email protected] UFPR [email protected]
© 2026 Claudio Torres Junior // serrooT serroot.dev — security research, writeups and notes.