Skip to main content

A mapper collection for firmware analysis

Project description

Pyrrha: A mapper collection for firmware analysis

Pyrrha is a filesystem cartography and correlation software focusing on visualization. It currently focuses on the relationship between executable files but aims at enabling anyone to map and visualize any relationship types. 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 three parts:

  1. Install mapper external dependencies: IDA dissassembler (with the decompilation option for the exe-decomp mapper) and Quokka IDA plugin.
  2. Install Pyrrha itself.
  3. Install NumbatUI (or Sourcetrail) to be able to visualize Pyrrha's results.

[!NOTE] A quick start installation is available on Pyrrha documentation.

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.

[!NOTE] The detailed documentation of each mapper is available in the documentation.

Publications

Pyrrha presentations, including live demos:

  • Pyrrha & Friends: Diving into Firmware Cartography, Eloïse Brocas & Robin Davis, 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrrha_mapper-1.0.1.tar.gz (446.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyrrha_mapper-1.0.1-py3-none-any.whl (46.9 kB view details)

Uploaded Python 3

File details

Details for the file pyrrha_mapper-1.0.1.tar.gz.

File metadata

  • Download URL: pyrrha_mapper-1.0.1.tar.gz
  • Upload date:
  • Size: 446.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyrrha_mapper-1.0.1.tar.gz
Algorithm Hash digest
SHA256 ca46b6dea3e4083d102cc9d2a18414a3298d5a3486219af54b0bc762b6d0b6dc
MD5 321479be3a26f27c4419505058b4ac86
BLAKE2b-256 e6ae1b8d09611680473fc9d62b435cf6eb330e43c78b982277bb8542343ed8b0

See more details on using hashes here.

File details

Details for the file pyrrha_mapper-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: pyrrha_mapper-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 46.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyrrha_mapper-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 afd90cee25e046ef544df5bdc3bb3f27a2826bd73724ab42f26d881851f7d220
MD5 6cc2300c88b0aca8efbe07b742648c9e
BLAKE2b-256 1b318c3386480d2b96ad823c324bbf88450dc7b973952595dfdf1655376badf1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page