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 Sourcetrail 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:

  • Installing Pyrrha as a Python module (pip install pyrrha-mapper) or using its Docker image.
  • Installing Sourcetrail to be able to visualize Pyrrha's results. You can use its last release and its 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 Sourcetrail compatible files (*.srctrlprj for the project file and *.srctrldb for the DB file). With the python package, you can just launch the command:
    $ pyrrha
    Usage: pyrrha [OPTIONS] COMMAND [ARGS]...
    
      Mapper collection for firmware analysis.
    
    Options:
      -h, --help  Show this message and exit.
    
    Commands:
      fs  Map PE and ELF files of a filesystem into a sourcetrail-compatible db.
    
    
    or with the Docker
    $ docker run  --rm -t -v $PWD:/tmp/pyrrha ghcr.io/quarkslab/pyrrha:latest [OPTIONS] COMMAND [ARGS]...
    
  2. Visualize your results with Sourcetrail
    $ sourcetrail PROJECT_NAME.srctrlprj
    

The detailed documentation of each mapper is available in the documentation.

Publications

Pyrrha has been presented at two conferences listed below. These talks include live demo of the fs parser which map links between libraries and executables files.

Authors

  • Eloïse Brocas (@ebrocas), 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-0.4.2.tar.gz (459.4 kB view details)

Uploaded Source

Built Distribution

pyrrha_mapper-0.4.2-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file pyrrha-mapper-0.4.2.tar.gz.

File metadata

  • Download URL: pyrrha-mapper-0.4.2.tar.gz
  • Upload date:
  • Size: 459.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.8

File hashes

Hashes for pyrrha-mapper-0.4.2.tar.gz
Algorithm Hash digest
SHA256 0c0cd0250aebe079ae506b270215ae62cce983b2862e0b961d148e161e90e9f1
MD5 d368bcdb24ee42f21a9aa10c04178ae6
BLAKE2b-256 b203ec4161f7c5550dff33649ecf0d80ede1ccfd42998ceb676df9cd03527164

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyrrha_mapper-0.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 add206587080dcedb75ce3445417123794e27dc15809d50b09f2fb5fecd0dd77
MD5 0514802da7e9a5a12b406edb5be2a4cc
BLAKE2b-256 2555e8c1bcc0f3786a6bd9aac78d219613deadc298e90ac827087e5f5af24756

See more details on using hashes here.

Supported by

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