Tags: gameboy forensics 

Rating: 5.0

In *EtherealBoy*, the player is given a GameBoy ROM `game.gb`.

Many older games consoles use the concept of a *tileset*, a set of *n*x*n*
pixels *tiles*, which larger images for the background and sprites are
constructed from. Famously, the hedges and clouds in *Super Mario Bros.* on
the NES use the same tiles.

![Donkey Kong palette](https://tilde.town/~kirby/ctf/swampctf2018/assets/dk-palette.png)

Many games require a font to construct text from, and thus dedicate some tiles
to a full alphabet and numbers. These are logically laid out in an order you'd
expect, A-Z, 0-9. When we inspect the tileset of the provided ROM (this can be
done using an emulator such as bgb), however, we instead see the characters laid
out to reveal the flag `flag{und3r_th3_hood}`.

![game.gb palette](https://tilde.town/~kirby/ctf/swampctf2018/assets/gb-tiles.png)

Original writeup (http://tilde.town/~kirby/ctf/swampctf2018/etherealboy.html).