Skip to content

Gallopsled/pwntools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Feb 18, 2025
636b3b2 · Feb 18, 2025
Jan 29, 2025
Jan 29, 2025
Dec 2, 2023
Jan 29, 2025
May 13, 2023
Feb 18, 2025
Jan 29, 2025
Dec 18, 2014
Aug 6, 2022
Jun 11, 2015
Jan 15, 2025
Oct 25, 2015
Feb 18, 2025
Aug 21, 2016
Feb 26, 2021
Aug 22, 2016
Nov 14, 2023
Jan 26, 2025
Dec 29, 2022
Jan 26, 2025
Jan 26, 2025
Jan 26, 2025

Repository files navigation

pwntools - CTF toolkit

pwntools logo

PyPI Docs GitHub Workflow Status (dev) Coveralls MIT License Packaging status Discord Twitter

Pwntools is a CTF framework and exploit development library. Written in Python, it is designed for rapid prototyping and development, and intended to make exploit writing as simple as possible.

from pwn import *
context(arch = 'i386', os = 'linux')

r = remote('exploitme.example.com', 31337)
# EXPLOIT CODE GOES HERE
r.send(asm(shellcraft.sh()))
r.interactive()

Documentation

Our documentation is available at docs.pwntools.com

A series of tutorials is also available online

To get you started, we've provided some example solutions for past CTF challenges in our write-ups repository.

Installation

Pwntools is best supported on 64-bit Ubuntu LTS releases (22.04 and 24.04). Most functionality should work on any Posix-like distribution (Debian, Arch, FreeBSD, OSX, etc.).

Pwntools supports Python 3.10+ since version 5.0.0. Use Pwntools 4.x for older versions as well as Python 2.7. Most of the functionality of pwntools is self-contained and Python-only. You should be able to get running quickly with

sudo apt-get update
sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pwntools

However, some of the features (assembling/disassembling foreign architectures) require non-Python dependencies. For more information, see the complete installation instructions here.

Contribution

See CONTRIBUTING.md

Contact and Community

If you have any questions not worthy of a bug report, join the Discord server at https://discord.gg/96VA2zvjCB