- Home
- Reverse Engineering Tools
- FirmWire
On the recordRead 8 Oct 202618 facts
FirmWire
On the record
- Emulation
- Its emulation core uses PANDA for emulation and avatar2 to orchestrate emulator execution.firmwire.github.io · read 8 Oct 2026
- External tools
- Documented tooling includes Docker, QEMU/PANDA, avatar2, GDB, Ghidra, and AFL++.firmwire.github.io · read 8 Oct 2026
- Firmware loading
- FirmWire can recognize a firmware image, unpack it, and select a loader and machine automatically.firmwire.github.io · read 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 · read 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 · read 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 · read 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 · read 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 · read 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 · read 8 Oct 2026
- Modkit
- The modkit lets users create and compile C modules and tasks for injection into emulated baseband firmware.firmwire.github.io · read 8 Oct 2026
- Purpose
- FirmWire is a full-system baseband firmware analysis and emulation platform for fuzzing, debugging, and root-cause analysis.github.com · read 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 · read 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 · read 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 · read 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 · read 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 · read 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 · read 8 Oct 2026
- Supported vendors
- It supports a subset of MediaTek MTK and Samsung Shannon firmware images.firmwire.github.io · read 8 Oct 2026