FREEDOM251

Freedom251 › Reverse Engineering Tools

FirmWire

Free plan LinuxSelf-hosted

Visit FirmWire Alternatives

FirmWire's own site

What FirmWire is

FirmWire is a free, Linux, self-hosted platform for dynamic baseband firmware analysis and emulation. It is built for fuzzing, debugging, and root-cause analysis, supporting a subset of MediaTek MTK and Samsung Shannon firmware images. AFL++ can fuzz baseband tasks through specialized injected tasks and TriforceAFL hypercalls, with inputs delivered through normal firmware message channels. GDB connects to the emulated baseband for breakpoints, memory inspection or modification, and execution control. An IPython/Jupyter console exposes the API and machine abstraction. Snapshots save QEMU qcow2 emulation images with Python peripheral state for restoration. PANDA provides emulation while avatar2 orchestrates execution. FirmWire can recognize and unpack images, then choose a loader and machine. Its modkit supports compiling C modules and tasks for injection. Installation options include the supplied Docker environment, a VS Code devcontainer, or manual setup. MediaTek analysis requires custom Ghidra patches.

Who it suits

FirmWire suits Linux users conducting baseband firmware research, fuzzing, debugging, or vulnerability analysis. It is intended for work with supported MediaTek and Samsung Shannon images.

What it does well

  • Free BSD-3 licensed software
  • AFL++ baseband fuzzing support
  • GDB interactive debugging
  • Snapshot restoration support
  • C module injection modkit

What to know first

  • Supports only a subset of firmware images
  • MediaTek analysis needs custom Ghidra patches
  • MediaTek snapshotting is described as hacky
  • Public release omits some research-paper functionality

Verdict

FirmWire combines emulation, fuzzing, debugging, scripting, and firmware injection for supported baseband images. Its Linux-only setup and documented limitations matter when planning research workflows.

Facts from FirmWire's own pages

Emulation
Its emulation core uses PANDA for emulation and avatar2 to orchestrate emulator execution. · firmwire.github.io, 8 Oct 2026
External tools
Documented tooling includes Docker, QEMU/PANDA, avatar2, GDB, Ghidra, and AFL++. · firmwire.github.io, 8 Oct 2026
Firmware loading
FirmWire can recognize a firmware image, unpack it, and select a loader and machine automatically. · firmwire.github.io, 8 Oct 2026
Fuzzing
The command-line interface supports AFL fuzz tasks, test case input, triage, persistent fuzzing, crash logs, and coverage collection. · firmwire.github.io, 8 Oct 2026
Ghidra requirement
MediaTek firmware analysis requires custom patches to Ghidra, while Shannon firmware uses the ShannonLoader with custom or upstream Ghidra. · firmwire.github.io, 8 Oct 2026
Installation
The recommended setup builds and runs FirmWire in its supplied Docker environment; the documentation also describes a VS Code devcontainer and manual installation. · firmwire.github.io, 8 Oct 2026
Interactive debugging
Users can connect GDB to the emulated baseband to set breakpoints, inspect or modify memory, and steer execution. · firmwire.github.io, 8 Oct 2026
Known limitations
The documentation says MediaTek snapshotting is hacky, Panda may segfault after snapshotting, and Ctrl+C does not work in console mode. · firmwire.github.io, 8 Oct 2026
License and commercial use
FirmWire is BSD-3 licensed, and its makers state that the license permits commercial use such as private baseband vulnerability research and bug bounties. · github.com, 8 Oct 2026
Modkit
The modkit lets users create and compile C modules and tasks for injection into emulated baseband firmware. · firmwire.github.io, 8 Oct 2026
Purpose
FirmWire is a full-system baseband firmware analysis and emulation platform for fuzzing, debugging, and root-cause analysis. · github.com, 8 Oct 2026
Python console
An IPython/Jupyter console exposes FirmWire’s API and machine abstraction for interacting with the emulated baseband. · firmwire.github.io, 8 Oct 2026
Research context
The project describes itself as the result of a multi-year, cross-university research effort and links an NDSS 2022 paper. · github.com, 8 Oct 2026
Research preview
The documentation says the public release is a preview that omits some functionality described in the research paper. · firmwire.github.io, 8 Oct 2026
Snapshots
FirmWire saves emulation state in QEMU qcow2 images along with auxiliary state for Python peripherals, and supports restoring snapshots. · firmwire.github.io, 8 Oct 2026
Support and services
The makers invite contact through public issues or private email or Signal and say team members may provide consulting, training, or custom extensions. · github.com, 8 Oct 2026
Supported images
The documentation lists Samsung A10s and A41 MediaTek images, plus selected Samsung Galaxy S7 through S10 and Moto One Vision Shannon images. · firmwire.github.io, 8 Oct 2026
Supported vendors
It supports a subset of MediaTek MTK and Samsung Shannon firmware images. · firmwire.github.io, 8 Oct 2026

Where FirmWire stands on Freedom251

Look at these too