Skip to main content

Interactive assembler with ptrace - Python version of rappel

Project description

PyRappel

PyRappel is an interactive assembler with ptrace support - a Python version of the original rappel tool.

Installation

From PyPI (recommended)

pip install pyrappel

From source

git clone <repository-url>
cd pyrappelv2
pip install .

Development installation

git clone <repository-url>
cd pyrappelv2
pip install -e .[dev]

Usage

After pip installation, PyRappel is automatically installed as a system-wide executable. You can run it from anywhere in your terminal:

pyrappel -h

The pyrappel command is automatically:

  • Installed in your system PATH (e.g., /usr/local/bin/pyrappel or ~/.local/bin/pyrappel)
  • Made executable
  • Available from any directory

Command line options:

  • -a, --arch: Target architecture (x86 or x64, default: x64)
  • -s, --start-addr: Start virtual address for code execution (default: 0x400000)
  • -A, --all-regs: Display all available registers (including FP/SSE)
  • -v, --verbose: Enable verbose output

Examples:

# Start with x64 architecture (default)
pyrappel

# Start with x86 architecture
pyrappel -a x86

# Start with custom start address
pyrappel -s 0x10000000

# Show all registers
pyrappel -A

Requirements

  • Python 3.11+
  • Linux (ptrace support required)
  • Dependencies are automatically installed via pip

Development

The package uses modern Python packaging with pyproject.toml. For development:

pip install -e .[dev]

Original Project

This is a Python reimplementation of the original C version: Rappel

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

pyrappel-0.1.0.tar.gz (67.8 kB view details)

Uploaded Source

Built Distribution

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

pyrappel-0.1.0-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file pyrappel-0.1.0.tar.gz.

File metadata

  • Download URL: pyrappel-0.1.0.tar.gz
  • Upload date:
  • Size: 67.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyrappel-0.1.0.tar.gz
Algorithm Hash digest
SHA256 49b2cc68f7cf235164f83693067c4110a37db1ce8b4af92042324517674f35f3
MD5 79d837bb04231720cd948907268d7e96
BLAKE2b-256 caa6f0a52b16fd16e9060f52f025e47c1f8d1953c04362b17da5bb21c75b1be0

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrappel-0.1.0.tar.gz:

Publisher: python-publish.yml on slaee/pyrappel

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

File details

Details for the file pyrappel-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pyrappel-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pyrappel-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 97d53768c72a1426002eddf55abadc67830f448fe9daa55a692e421d3168bb35
MD5 4faf1c187cdd6986c361e2dac30df31b
BLAKE2b-256 afccb3948eabffc006c93ca422df11a9fb7a634672588e31aad19149736698e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for pyrappel-0.1.0-py3-none-any.whl:

Publisher: python-publish.yml on slaee/pyrappel

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