Firmware Emulation 102


Blogs

UART 101: Basics of Serial Communication


In the world of electronics and microcontrollers, communication between devices is crucial. One popular method for serial communication is UART, which stands for Universal Asynchronous Receiver/Transmitter. This blog will walk you through the basics of UART, its working principle, and its applications.


UART 102: Serial Discovery for Beginners


UART stands for Universal Asynchronous Receiver/Transmitter. It’s basically a hardware communication protocol that acts like a translator between your computer (or microcontroller) and other serial devices. Think of it as the middleman that helps your system talk to things like GPS modules, modems, or even other microcontrollers — one bit at a time, over just a couple of wires.

UART 103: Device Communication and Shell Access



In this blog, our objective is to gain shell access to the target device via the UART interface. Once a successful connection is established, we’ll explore the device’s file system with the aim of locating stored credentials or configuration data. This process is a vital step in hardware analysis, as it can reveal sensitive information or help us better understand how the device operates internally.

Firmware Emulation 101


Firmware is the software that runs on embedded devices like routers, access points, or IoT gadgets. It controls how the hardware operates and manages things like network connectivity, device security, and user interactions. In simpler terms  it’s the brain of your hardware.

Firmware Emulation 102



Now that you’ve got a clear idea of what firmware emulation is and why it matters, it’s time to actually dive in. In this blog, we’ll walk through setting up the tools and running your first emulation session. We’ll be using Firmware Analysis Toolkit (FAT) and Firmadyne, two of the most popular tools for analyzing and emulating router firmware.

JTAG 101: The Basics



JTAG (Joint Test Action Group) is an interface commonly used for testing, programming, and debugging electronic devices. It allows engineers and developers to access the internal circuitry of a device through a dedicated set of pins known as the JTAG connector.

JTAG 102: JTAG Pin Identification



In the previous blog, we explored what JTAG is and how it enables low-level access for testing, debugging, and programming chips. Now that we understand how JTAG works conceptually with its boundary scan logic and daisy chained devices it's time to get hands on.

JTAG 103: Hardware Debugging



Previously, we covered the fundamentals of JTAG and how to spot its pins on a device. In this blog, we’re taking it a step further actually connecting to a target and interacting with it through its JTAG interface. Time to get practical.

Modbus 101: From Bits to Bricks



Modbus is one of the most widely used open communication protocols in the industrial world. Originally developed for Programmable Logic Controllers (PLCs), it has become a de facto standard for device-level communication. Whether you're working with SCADA systems, sensors, actuators, or even modern IoT devices, chances are you’ll come across Modbus.

BLE 101 : The Basics

Bluetooth Low Energy (BLE) is a lightweight wireless communication protocol designed for short-range data transfer with minimal power consumption. It was introduced as part of the Bluetooth 4.0 standard to support battery-powered devices like smartwatches, fitness bands, medical sensors, and IoT gadgets.

BLE 102: Analyzing BLE


In this blog, we'll dive into the real-world process of capturing BLE traffic between a mobile app and a target device. We'll start by enabling the HCI snoop log on an Android phone, extracting the resulting capture file, and then analyzing it in Wireshark to uncover meaningful data exchanges.

BLE 103: Practical BLE Attacks


Now, in this blog, we’re taking things further. We'll use the insights we gathered to interact directly with the device using gatttool. This will allow us to send commands, explore available services, and begin testing how the device responds to direct input.

SPI 101: Serial Peripheral Interface

In this blog, This blog series is focused on SPI hacking with practical application in hardware analysis, firmware extraction, and embedded device inspection. Understanding this protocol is essential before moving on to hands-on tools and extraction techniques, which will be discussed in upcoming parts.

SPI 102: Firmware Extraction

In this part of the series, we’ll walk through the essential tools and setup needed to interface with SPI flash chips. This includes choosing the right programmer, understanding physical connection methods, and using open-source software to communicate with the chip.

SPI 103: Firmware Analysis

In this blog, Now that we’ve successfully dumped the .bin file from the SPI flash chip, the next step is to analyze it. This process helps uncover the contents of the firmware like file systems, configuration files, scripts, and potentially sensitive data.