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. Whether you’re using it to write exploits, or as part of another software project will dictate how you use it. Historically pwntools was used as a sort of exploit-writing DSL. Simply doing from pwn import in a previous version of pwntools would bring all sorts of nice side-effects. This version imports everything from the toplevel pwnlib along with functions from a lot of submodules. This means that if you do import pwn or from pwn import , you will have access to everything you need to write an exploit. Calls pwnlib.term.init() to put your terminal in raw mode and implements functionality to make it appear like it isn’t. Tries to parse some of the values in sys.argv and every value it succeeds in parsing it removes.
Features
- For prototyping and development, and intended to make exploit writing simple
- Pwntools is best supported on 64-bit Ubuntu LTS releases
- Toolbox optimized for CTFs
- Pwntools is available as a pip package for both Python2 and Python3.
- Building binutils from source takes about 60 seconds on a modern 8-core machine
- Some of pwntools’ Python dependencies require native extensions