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.0.tar.gz (32.8 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.0-py3-none-any.whl (32.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for exploitlab-0.2.0.tar.gz
Algorithm Hash digest
SHA256 131d2a86879fa0935b3008b808d6995a10fb570b5661d42bbd9894cdeba1c3b2
MD5 37cb60abd5edb656c5a0f1a552cbbdeb
BLAKE2b-256 d0c098e9f34da97fe0872ba19b42f02f8226b64d6c82a9063744af90f9abcfa3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: exploitlab-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 32.6 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 70179f6542259a0c9f66900ab159bb6a935a37204ab6d55e32a7a2377b53b52b
MD5 7fe9293c36d8b0e1004ef0aeb873a3c2
BLAKE2b-256 56543b59fea9c97c9ce321a80fad923bf3b38898774c13306a05c0da5b54fc38

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