Skip to main content

A set of functions useful in reverse engineering.

Project description

Info

ReverseBox is a Python package with a set of functions useful in software reverse engineering.

Why ReverseBox?
It's designed to help with:

  1. Decompressing / compressing data
  2. Decrypting / encrypting data
  3. Tedious reverse engineering tasks e.g. testing different checksum algorithms to find the one that was used in the software or file format
  4. Figuring out file formats
  5. Parsing data structures
  6. Wrapping functions for input/output operations

Who should use ReverseBox?
Mostly developers and reverse engineers (e.g. file format researchers or software researchers).

List of functionalities

  • Checksum

    • CRC16 ✔️
    • CRC32 ✔️
    • CRC-16 (Modbus) (TODO) ❌
    • CRC-16 (Sick) (TODO) ❌
    • CRC-CCITT (XModem) (TODO) ❌
    • CRC-CCITT (0xFFFF) (TODO) ❌
    • CRC-CCITT (0x1D0F) (TODO) ❌
    • CRC-CCITT (Kermit) (TODO) ❌
    • CRC-DNP (TODO) ❌
    • 1 byte checksum (TODO) ❌
  • Compression

    • BZIP2 (TODO) ❌
    • GZIP (TODO) ❌
    • JCALG1 (TODO) ❌
    • LZMA (TODO) ❌
    • LZO1X (TODO) ❌
    • LZSS (TODO) ❌
    • NitroSDK (TODO) ❌
    • Oodle (TODO) ❌
    • Refpack (EA) (TODO) ❌
    • RNC (TODO) ❌
    • ZLIB (TODO) ❌
  • Encryption

    • AES (TODO) ❌
    • DES (TODO) ❌
    • XOR Cipher (Basic) ✔️
    • XOR Cipher (game-specific: Retro64 ECO) ✔️
    • XOR Cipher (game-specific: Giana’s Return ZDA) (TODO) ❌
  • Hash

    • SHA-1 (TODO) ❌
    • MD5 (TODO) ❌
    • (game-specific) Hercules (TODO) ❌
    • (game-specific) E-racer (TODO) ❌
  • IO

    • Basic IO operations (TODO) ❌

Checksum calculation- example

Below is an example for checksum calculation using ReverseBox package. Calulating other checksums is very similar.

// CRC16 calculation

from reversebox.checksum import checksum_crc16
from reversebox.common import common


test_data = b'123456789'
crc16_handler = checksum_crc16.CRC16Handler()
crc16 = crc16_handler.calculate_crc16(test_data)
print("CRC16_INT: ", crc16)
print("CRC16_STR: ", common.convert_int_to_hex_string(crc16))

// CRC16 output

CRC16_INT:  47933
CRC16_STR:  0xBB3D

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

ReverseBox-0.0.22.tar.gz (16.9 kB view details)

Uploaded Source

File details

Details for the file ReverseBox-0.0.22.tar.gz.

File metadata

  • Download URL: ReverseBox-0.0.22.tar.gz
  • Upload date:
  • Size: 16.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.4

File hashes

Hashes for ReverseBox-0.0.22.tar.gz
Algorithm Hash digest
SHA256 c5fb7facced6490c0fdc17423b705d41debb22c2639822e9ec2e87cce1324204
MD5 cc9efde7ded85209852cb08d0b45c4b1
BLAKE2b-256 e9b5d874b6136797f54ecd4dcc240ae2e55e086525392c0c6f26595fe6cbd709

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