Skip to main content

Pyrrha: A mapper collection for firmware analysis

Pyrrha is a firmware cartography tool which provide three level of details:

  • an overview of the import/export relationships between executables;
  • a firmware-wide callgraph;
  • a complete map of a given decompiled binary.

It uses the open-source code source explorer NumbatUI to provide users with an easy way to navigate through and search for path to function.

An example of the symbols and libraries imported by libgcc_s.so.1 and of the symbols which reference this library.

An example of the symlinks which point on busybox.

Installation

The installation is done in two parts:

  1. Install Pyrrha itself.
  2. Install NumbatUI (or Sourcetrail) to be able to visualize Pyrrha's results.
  3. (Optional) Install Ghidra or IDA if you want to use fs-cg or decomp mappers.

Usage

The usage workflow is composed of two steps which allow you to separate DB creation and result visualization.

  1. Run Pyrrha to obtain NumbatUI compatible files (*.srctrlprj for the project file and *.srctrldb for the DB file). With the python package, you can just launch the command pyrrha.
  2. Visualize your results with Sourcetrail/NumbatUI.

Publications

Pyrrha presentations, including live demos:

  • Pyrrha & Friends: Diving into Firmware Cartography, Eloïse Brocas & Robin David, SSTIC, Rennes, France, 2025. [slides] [video]

  • Pyrrha: navigate easily into your system binaries, Eloïse Brocas, Hack.lu, Luxembourg, 2023. [slides] [video]

  • Map your Firmware!, Eloïse Brocas, Pass The SALT, Lille, France, 2023. [slides] [video]

Theory behind implementations

  • Streamlining Firmware Analysis with Inter-Image Call Graphs and Decompilation, Robin David, RE//verse.io, USA, 2025. [slides] [video]

Authors

  • Eloïse Brocas (@ebrocas), Quarkslab
  • Robin David (@RobinDavid), Quarkslab

Past Contributors

  • Pascal Wu (@pwu42), during his internship at Quarkslab

Metadata

Release files for pyrrha-mapper 2.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyrrha-mapper 2.0.1
File Size Uploaded
pyrrha_mapper-2.0.1.tar.gz 490.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyrrha-mapper 2.0.1
File Interpreter ABI Platform
pyrrha_mapper-2.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 554.2 kB

Release files / pyrrha_mapper-2.0.1.tar.gz

Download URL pyrrha_mapper-2.0.1.tar.gz
Size 490.9 kB
Tags Source
SHA-256 checksum
How to use checksums
80812e8b97a26dd9da32e18291e1ca5d45d7e2bc4e16280515b93f027bec1d02
BLAKE2b-256 checksum
How to use checksums
e57d82e6f035bad25e80e03df223965185a8c5eea6547fa343611fae7ae5c097
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyrrha_mapper-2.0.1-py3-none-any.whl

Download URL pyrrha_mapper-2.0.1-py3-none-any.whl
Size 63.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
02cb919cb7a26f1e0ece2f14f12f631a08cf49116486eaee783772c1fde579dc
BLAKE2b-256 checksum
How to use checksums
6c143147a4f52700c09867af1317b297bb651fc857b955e87dbf195462e7e4b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

2.0.3

2 release files

2.0.2

2 release files

This release

2.0.1 This release

2 release files

2.0.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page