Game Boy Advance
Game Boy Advance (GBA) ROMs contain ARM code and asset data (sprites, maps, text).
Reverse engineering them helps reveal game logic or check conditions used to validate flags in CTF tasks.
- Run ROM in mGBA
- Debug address space with no$gba or arm‑none‑eabi‑gdb
- Extract assets using
binwalk -e file.gba
Tool | Purpose |
---|---|
mGBA | Emulator supporting debugging and tracing |
Ghidra | Disassemble ARM and THUMB code |
binwalk | Detect embedded resources |
- Look for ASCII text blocks in the ROM, they often encode hints or flags.
- Set breakpoints on string comparison functions to track input validation.
- Some GBA ROMs use simple checksums or crypto that can be patched with a hex editor.