Skip to main content

Flexible reverse engineering tool for analyzing many files at once.

Project description

Reven ๐ŸฆŠ

Reven is a flexible reverse engineering CLI toolkit written in Python and C. It is designed to facilitate the analysis of a large file set such as firmware files.

Features โœจ

  • Pipable: The tool allows for piping of input and output in a queryable YAML format.
  • Tabular (powered by Rich): The tool outputs pretty printed tables when its not piped.
  • Extendable: Reven supports plugins, allowing users to extend its functionality and add custom features.

Installation ๐Ÿ‘ท

reven can be installed using pip.

$ pip install reven

Usage ๐Ÿง‘โ€๐Ÿ’ป

Run reven --help to see the help and all available commands.

$ reven --help

 Usage: reven [OPTIONS] COMMAND [ARGS]...

 Operations for reverse engineering sets of files.

โ•ญโ”€ Options โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ --install-completion          Install completion for the current shell.        โ”‚
โ”‚ --show-completion             Show completion for the current shell, to copy   โ”‚
โ”‚                               it or customize the installation.                โ”‚
โ”‚ --help                        Show this message and exit.                      โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
โ•ญโ”€ Commands โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ search                  Searches for data within inputs.                       โ”‚
โ”‚ transform               Transforms an input to an output (e.g reverse).        โ”‚
โ”‚ byte-frequencies        Calculates the byte frequencies of the given inputs.   โ”‚
โ”‚ find-patterns-grouped   Groups files based on similarity and finds patterns    โ”‚
โ”‚                         for these groups.                                      โ”‚
โ”‚ find-patterns           Find a common pattern for all the provided input       โ”‚
โ”‚                         files.                                                 โ”‚
โ”‚ upset                   Creates an upset plot showing existential relations    โ”‚
โ”‚                         between data across files.                             โ”‚
โ”‚ slice                   Slice a file at start and end positions                โ”‚
โ”‚ hex2bin                 Command for converting Intel HEX files to binary       โ”‚
โ”‚                         files.                                                 โ”‚
โ”‚ ngram                   Finds the n-grams for the files provided in stdin and  โ”‚
โ”‚                         arguments.                                             โ”‚
โ”‚ etube                   Operations for reverse engineering Shimano E-Tube      โ”‚
โ”‚                         firmware                                               โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ

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

reven-0.1.tar.gz (17.0 kB view details)

Uploaded Source

Built Distribution

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

reven-0.1-cp313-cp313-manylinux_2_39_x86_64.whl (21.6 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

File details

Details for the file reven-0.1.tar.gz.

File metadata

  • Download URL: reven-0.1.tar.gz
  • Upload date:
  • Size: 17.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for reven-0.1.tar.gz
Algorithm Hash digest
SHA256 2a563ee5aba1b8e869458355405289c4a0d4e403dbc6c40218a9320ef04d791b
MD5 dda5cc9efef26558a9ac02ba1c8a562e
BLAKE2b-256 5c7558e851c72dabe080ff944f66fb19a3230b29d6cb2c40bb7bbcf7e40365cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for reven-0.1.tar.gz:

Publisher: publish.yml on reven-project/reven

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file reven-0.1-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for reven-0.1-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 7eedf28fdc8fc68f5b8180a805b785953740b9053dae214e9e07e7317218cd57
MD5 3d06c097562859133e0b25e2eb403a40
BLAKE2b-256 c553a7929f006cf6d88755b82b0f6f59b63512200b1630f74fe1440b33f5b594

See more details on using hashes here.

Provenance

The following attestation bundles were made for reven-0.1-cp313-cp313-manylinux_2_39_x86_64.whl:

Publisher: publish.yml on reven-project/reven

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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