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.2

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.2
File Size Uploaded
pyrrha_mapper-2.0.2.tar.gz 491.5 kB Details

Built distribution (wheel)

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

Total release size: 555.5 kB

Release files / pyrrha_mapper-2.0.2.tar.gz

Download URL pyrrha_mapper-2.0.2.tar.gz
Size 491.5 kB
Tags Source
SHA-256 checksum
How to use checksums
2f86e49fe409f65f83ff793e5ac1ef408ac8376394b2057a27064abfb5f69734
BLAKE2b-256 checksum
How to use checksums
ef62b272de3313ccc094d074b47a710d0b3f6539f24078bcd4a94170e8e6b4de
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.2-py3-none-any.whl

Download URL pyrrha_mapper-2.0.2-py3-none-any.whl
Size 64.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6fc630327338892fe8382d38de480aeeeb67d4fa8372a8f3309c80d65cb3f048
BLAKE2b-256 checksum
How to use checksums
9728b0e8f3832ea9450734532fbe63bb68b6af343fff17ba17488c7d689ae8ad
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

This release

2.0.2 This release

2 release files

2.0.1

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