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