Skip to main content

Flexible reverse engineering CLI 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.1.tar.gz (16.9 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.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.1.tar.gz.

File metadata

  • Download URL: reven-0.1.1.tar.gz
  • Upload date:
  • Size: 16.9 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.1.tar.gz
Algorithm Hash digest
SHA256 ad4a81746ebdd1758c73fa2a8638de7d74c95fa4919a9816599a6150fd4200f9
MD5 317a28cb8d6138b1c09b6e72541cccf0
BLAKE2b-256 1dc00e4c7cf1138f8998aca9796c123c31c9d261e2e7c851396bfa5c0f32fb5c

See more details on using hashes here.

Provenance

The following attestation bundles were made for reven-0.1.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.1-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for reven-0.1.1-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 194567d48ac1523f1519121ddff409a743ff619bc5fd6ab556bf6dfe32b67da1
MD5 7829cfb4d10a218885126cb8c5069ff7
BLAKE2b-256 800eb4cce873a3111f83606d8771090db7f0d029742deb9df1771ab3d357e92a

See more details on using hashes here.

Provenance

The following attestation bundles were made for reven-0.1.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