Skip to main content

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! 🧪

Metadata

Release files for exploitlab 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for exploitlab 0.2.1
File Size Uploaded
exploitlab-0.2.1.tar.gz 39.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for exploitlab 0.2.1
File Interpreter ABI Platform
exploitlab-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 73.7 kB

Release files / exploitlab-0.2.1.tar.gz

Download URL exploitlab-0.2.1.tar.gz
Size 39.5 kB
Tags Source
SHA-256 checksum
How to use checksums
e5812dfeb82ff6b183a1ddbfe8d2d7817c11ada539b354d532578ffacc750aa8
BLAKE2b-256 checksum
How to use checksums
e3315c3f4a8e62acc26b0ea944e4e5bc2cd8a080be79a337996cf0f26fd0a7c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / exploitlab-0.2.1-py3-none-any.whl

Download URL exploitlab-0.2.1-py3-none-any.whl
Size 34.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
91904dde91c9fe2f045eac126ab9e79fedb126778aa16c9777244d79b67f03f5
BLAKE2b-256 checksum
How to use checksums
e966fe4c3468583e309775c895c17eae0abb28962b784ac0a72563bbfadd599b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release history Release notifications | RSS feed

This release

0.2.1 This release

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page