Embedded Firmware Extraction
A tale of practicing firmware extraction mixed with some file format reverse engineering.
What's All This Then?
Disclaimer: I am not an eletrical engineer nor an embedded expert. I love dabbling with electronics and taking things apart. This post is about my experience and learnings of disassembling an IoT device and having a look at its firmware.
Resources on getting started with hardware hacking are abundant. Great introductions like this "Intro to Hardware Reversing" video from Tony Gambacorta or this blog post about "Dumping Firmware" from Black Hills Information Security will teach you everything you need to start yourself.
So, why this post? Connecting to UART will not always drop you into a root shell and dumping firmware will not always work with the tools shown in tutorials. In this post I aim to document my challenges, solutions, and learnings in my first attempt to reverse engineer an outdoor camera.
I will not cover the basics of the Universal Asynchronous Receiver and Transmitter (UART) protocol or do theory on embedded storage devices. I will, however, show you my steps, methodology, and findings.
Simple Steps for Connecting to UART
Coming soonβ’
Extracting an Unknown Filesystem from Flash Memory
Coming soonβ’
Last updated