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.2.tar.gz (19.2 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: reven-0.1.2.tar.gz
  • Upload date:
  • Size: 19.2 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.2.tar.gz
Algorithm Hash digest
SHA256 68e3fc05ed07f2ec58bd06ea629b670ce2f781fea5635ced98ac16e75f5d0a8c
MD5 f14e356cb625779d973eccb513abb739
BLAKE2b-256 d6538a4b41216d86942d32c70f9be0eb51aa8a2ea7756dbb2b0d923acdfc5e5b

See more details on using hashes here.

Provenance

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

Publisher: build-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