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

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.3
File Size Uploaded
pyrrha_mapper-2.0.3.tar.gz 492.3 kB Details

Built distribution (wheel)

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

Total release size: 557.1 kB

Release files / pyrrha_mapper-2.0.3.tar.gz

Download URL pyrrha_mapper-2.0.3.tar.gz
Size 492.3 kB
Tags Source
SHA-256 checksum
How to use checksums
726dd9b0af287c96ec3ac3698908e33b5a4b551a3e9303cc5702643dacdd858e
BLAKE2b-256 checksum
How to use checksums
c7d9d0653a0ef9c637c02c65c99307b99d967eb0e062118a8460b7f1f007a4a5
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.3-py3-none-any.whl

Download URL pyrrha_mapper-2.0.3-py3-none-any.whl
Size 64.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9ae310c115e6dfcfe50d02f38b8ca9ff2186a410bea7c11f417f8915c994f9b5
BLAKE2b-256 checksum
How to use checksums
ae62a13ce9cb26a3a53e95704bce8a70d80d59993d4d8bdc3cacea7835cd301e
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

This release

2.0.3 This release

2 release files

2.0.2

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