Emulation, PowerPC, and Transition
Where
Breaking Ground
BSides Las Vegas
Duration
47 min
Follows a reverse engineer building a bare-metal PowerPC emulator to test and analyze an engine controller's firmware.
Summary
The talk starts with why full-system emulation helps with reverse engineering and debugging bare-metal embedded systems, where hardware debuggers can be slow or limited. It explains that PowerPC remains common in automotive and aerospace equipment, and that open-source emulators of the time lacked support for newer PowerPC features such as variable-length encoding and vendor-specific floating point and vector instructions. The work sat inside a DARPA program on binary lifting, patching and assurance, where the team had to test tools against a real engine controller.
The middle of the talk covers building the framework in Python on top of the vivisect toolkit. Peripherals were added in stages, beginning with a watchdog timer, system integration and clock setup, then flash memory, interrupts, DMA and several analog and bus peripherals. Firmware was extracted from a physical board so the emulator's behavior could be checked against hardware. One flash-related problem left the emulated image marked as bad, which showed how a small state mismatch can derail an entire run. A demo showed the emulator executing firmware while it transmitted messages, and a remote GDB server allowed a debugger to attach.
Personal history about the speaker's transition is woven through the technical timeline. The closing takeaway is that building your own tool can deepen your understanding of a target and suit how you approach problems. The framework is moving toward a generic bare-metal emulator, with the remaining work mostly refinement.
Related talks
Main Stage·18 min
Stacksmashing
Reverse-engineers a Sea-Doo jetski's diagnostic protocol and one-wire key interface to build an open-source, programmable replacement key.
Talks·31 min
Inbar Raz
Shows how an obscure payphone CPU was reverse engineered by writing a Ghidra processor module and patching ROM firmware.
Breaking Ground·1 hr 11 min
Larry Trowell
Shows how low-cost, mostly 3D-printed and off-the-shelf parts can build laser fault injection and chip imaging rigs.


