Reversing Flutter with Blutter and Radare2
Flutter is an open-source UI software development kit with the ability to create applications for Android, iOS, and non-mobile platforms using a single codebase. The performance aspect is handled by using ahead-of-time (AOT) native compilation in release builds.
In terms of reverse engineering, Flutter is particularly difficult to tackle because disassemblers do not support its custom binary format, registers and representation of integers.
In this workshop, we will:
- Learn how to reverse Flutter applications
- Learn how to use Blutter and understand its output
- Load symbols in Radare2 to parse the binary more easily
- Patch a game with a native Frida hook to reveal an Easter Egg