# Gallopsled/pwntools

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/gallopsled-pwntools).**

13,271 stars · 1,818 forks · Python · other

## Links

- GitHub: https://github.com/Gallopsled/pwntools
- Homepage: http://pwntools.com
- awesome-repositories: https://awesome-repositories.com/repository/gallopsled-pwntools.md

## Topics

`assembly` `bsd` `capture-the-flag` `ctf` `ctf-framework` `defcon` `exploit` `hacktoberfest` `linux` `pwnable` `pwntools` `python` `python2` `python3` `rop` `shellcode` `shellcode-development` `shellcoding` `wargame`

## Description

Pwntools is a Python-based framework designed for rapid prototyping and automation in binary exploitation, reverse engineering, and security research. It serves as a comprehensive toolkit for interacting with local and remote processes, providing the primitives necessary to manage complex exploit workflows and streamline security analysis tasks.

The framework distinguishes itself through its specialized capabilities for binary manipulation and automated exploit construction. It includes dedicated utilities for parsing executable file formats, assembling and disassembling machine code, and generating shellcode across various architectures. A core strength of the project is its ability to automate the identification and chaining of gadgets to bypass memory protections, as well as its capacity to resolve remote symbols and exploit format string vulnerabilities through calculated memory manipulation.

Beyond its core exploitation features, the library provides a unified interface for managing communication across network sockets, serial connections, and local process pipes. It supports deep integration with debugging environments, allowing researchers to monitor execution flow and inspect memory in real time. The project also includes specific utilities for managing capture-the-flag competition workflows, such as automating the submission of flags to remote servers.

The library is structured to provide a consistent global execution environment, allowing users to configure architecture, operating system, and logging defaults for their research sessions. It is distributed as a Python library, enabling integration into custom security research scripts and automated analysis pipelines.

## Tags

### Security & Cryptography

- [Exploitation Frameworks](https://awesome-repositories.com/f/security-cryptography/exploitation-frameworks.md) — Serves as a primary framework for developing, testing, and automating binary exploitation and security research workflows.
- [Return Oriented Programming Tools](https://awesome-repositories.com/f/security-cryptography/return-oriented-programming-tools.md) — Analyze binary files to identify gadgets and automatically construct functional exploit chains that bypass security protections like non-executable memory. ([source](https://docs.pwntools.com/rop.html))
- [Capture The Flag Competitions](https://awesome-repositories.com/f/security-cryptography/security/offensive-operations/penetration-testing-ethical-hacking/capture-the-flag-competitions.md) — Automates the submission of captured flags to remote competition servers during security challenges. ([source](https://docs.pwntools.com/en/dev))
- [Gadget Chainers](https://awesome-repositories.com/f/security-cryptography/traffic-protection/protection-bypassers/gadget-chainers.md) — Automates the identification and chaining of gadgets to bypass memory protections like non-executable memory.
- [Exploitability Validation](https://awesome-repositories.com/f/security-cryptography/vulnerability-assessment-testing/security-testing-auditing/security-vulnerabilities/exploitability-validation.md) — Automates the discovery and exploitation of memory corruption vulnerabilities in compiled software. ([source](https://docs.pwntools.com/en/dev))
- [Exploit Connectivity Tools](https://awesome-repositories.com/f/security-cryptography/exploit-connectivity-tools.md) — Establishes and manages connections to local processes, network sockets, or serial ports for security research. ([source](https://docs.pwntools.com/en/beta))
- [Return Oriented Programming](https://awesome-repositories.com/f/security-cryptography/return-oriented-programming.md) — Identifies gadgets and automatically assembles them into functional chains to bypass memory protections.
- [Challenge Solving Utilities](https://awesome-repositories.com/f/security-cryptography/security/offensive-operations/penetration-testing-ethical-hacking/capture-the-flag-competitions/challenge-solving-utilities.md) — Streamlines interaction with remote services and automates flag submission for security competitions.
- [Security Payload Generators](https://awesome-repositories.com/f/security-cryptography/vulnerability-assessment-testing/security-testing-auditing/security-testing-tools/exploit-development-utilities/payload-creation-tools/security-payload-generators.md) — Generates architecture-specific machine code and shellcode for exploit payloads. ([source](https://docs.pwntools.com/en/beta))
- [Exploit Payloads](https://awesome-repositories.com/f/security-cryptography/vulnerability-assessment-testing/security-testing-auditing/security-vulnerabilities/exploit-payloads.md) — Manages exploit payloads by encoding shellcode and generating cyclic patterns for buffer overflow analysis. ([source](https://docs.pwntools.com/))
- [Format String Exploiters](https://awesome-repositories.com/f/security-cryptography/vulnerability-assessment-testing/security-testing-auditing/security-vulnerabilities/exploitability-validation/format-string-exploiters.md) — Automates the exploitation of format string vulnerabilities by calculating necessary memory writes and offsets. ([source](https://docs.pwntools.com/en/stable))
- [Automation Utilities](https://awesome-repositories.com/f/security-cryptography/security/offensive-operations/penetration-testing-ethical-hacking/capture-the-flag-competitions/automation-utilities.md) — Automates interaction with remote services and streamlines the submission of flags during security challenges.
- [Security Research Toolkits](https://awesome-repositories.com/f/security-cryptography/network-security/security-research-toolkits.md) — Provides primitives for debugging processes, managing payloads, and researching security vulnerabilities.

### Development Tools & Productivity

- [ROP Chain Automators](https://awesome-repositories.com/f/development-tools-productivity/competitive-programming-automation-tools/rop-chain-automators.md) — Automates the construction of return-oriented programming sequences to bypass security protections. ([source](https://docs.pwntools.com/))
- [Task Automation Tools](https://awesome-repositories.com/f/development-tools-productivity/task-automation-tools.md) — Streamlines security research workflows by automating format string exploitation and memory leaking tasks. ([source](https://docs.pwntools.com/en/latest))
- [Format String Exploiters](https://awesome-repositories.com/f/development-tools-productivity/string-formatting-utilities/format-string-exploiters.md) — Automates the calculation of memory writes required to exploit format string vulnerabilities. ([source](https://docs.pwntools.com/fmtstr.html))
- [Command Line Utilities](https://awesome-repositories.com/f/development-tools-productivity/terminal-shell-cli/terminal-cli-enhancements/shell-terminal-utilities/general-enhancements-tooling/terminal-productivity/command-line-utilities.md) — Provides command-line utilities for assembly, disassembly, and binary analysis to assist in exploit development. ([source](https://docs.pwntools.com/en/stable/install.html))

### Data & Databases

- [Binary Format Parsers](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-transformation/data-parsing-extraction/binary-format-parsers.md) — Includes structured parsers for extracting symbols and metadata from executable binary files.
- [Binary Data Packers](https://awesome-repositories.com/f/data-databases/data-processing-pipelines/data-processing/data-serialization-parsing/binary-data-formats/binary-data-packers.md) — Packs binary data and generates cyclic patterns to assist in the analysis of buffer overflows. ([source](https://docs.pwntools.com/en/latest))
- [Cyclic Pattern Generators](https://awesome-repositories.com/f/data-databases/data-management/unique-identifier-generators/cyclic-pattern-generators.md) — Generates unique cyclic patterns to identify exact offsets in memory buffers during crash analysis. ([source](https://docs.pwntools.com/util/cyclic.html))
- [Data Format Converters](https://awesome-repositories.com/f/data-databases/data-format-converters.md) — Translates between integers and byte strings with configurable endianness and bit-width for target architecture compatibility. ([source](https://docs.pwntools.com/util/packing.html))

### Operating Systems & Systems Programming

- [Binary Analysis Capabilities](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-analysis-capabilities.md) — Parses and manipulates binary file formats to resolve symbols and automate exploitation. ([source](https://docs.pwntools.com/))
- [Shellcode Generators](https://awesome-repositories.com/f/operating-systems-systems-programming/assembly-injection-interfaces/shellcode-generators.md) — Generates architecture-specific shellcode and machine code for exploit payload construction. ([source](https://cdn.jsdelivr.net/gh/Gallopsled/pwntools@dev/README.md))
- [Binary File Inspectors](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-analysis-capabilities/binary-file-inspectors.md) — Analyzes executable file formats to extract information and construct return-oriented programming chains. ([source](https://docs.pwntools.com/en/beta))
- [Reverse Engineering Tools](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-analysis-capabilities/reverse-engineering-tools.md) — Provides comprehensive utilities for disassembling, analyzing, and reverse engineering compiled binary executables.
- [Data Endianness](https://awesome-repositories.com/f/operating-systems-systems-programming/kernel-core-internals/system-programming-primitives/system-programming/data-endianness.md) — Provides utilities for translating between high-level data types and raw byte sequences with configurable endianness.
- [Binary Analysis Tools](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-analysis-capabilities/binary-analysis-tools.md) — Offers a suite of tools for parsing, inspecting, and extracting information from compiled binary files.
- [Binary Disassembly](https://awesome-repositories.com/f/operating-systems-systems-programming/binary-analysis-capabilities/binary-disassembly.md) — Provides tools for assembling, disassembling, and patching machine code to support reverse engineering. ([source](https://docs.pwntools.com/_sources/index.rst.txt))

### Networking & Communication

- [Remote Service Clients](https://awesome-repositories.com/f/networking-communication/remote-service-clients.md) — Manages communication channels with local and remote services to exchange data and monitor execution.
- [Interactive Remote Access](https://awesome-repositories.com/f/networking-communication/remote-access-clients/interactive-remote-access.md) — Maintains active communication channels with target processes for manual or automated interaction. ([source](https://cdn.jsdelivr.net/gh/Gallopsled/pwntools@dev/README.md))
- [Remote Symbol Resolvers](https://awesome-repositories.com/f/networking-communication/remote-access-control/remote-symbol-resolvers.md) — Resolves remote function addresses by leaking and analyzing binary structures during runtime. ([source](https://docs.pwntools.com/dynelf.html))

### Software Engineering & Architecture

- [Stream Abstractions](https://awesome-repositories.com/f/software-engineering-architecture/stream-abstractions.md) — Provides a consistent interface for reading and writing data across network sockets, serial connections, and local pipes.
- [Symbol Resolution Engines](https://awesome-repositories.com/f/software-engineering-architecture/symbol-resolution-engines.md) — Automates the discovery of function addresses by leaking and parsing binary structures in running processes.

### System Administration & Monitoring

- [Process Debuggers](https://awesome-repositories.com/f/system-administration-monitoring/debugging-observers/process-debuggers.md) — Interfaces with external debuggers to monitor execution flow and inspect memory in real time. ([source](https://docs.pwntools.com/))

### Web Development

- [Offline-First API Client with Sync](https://awesome-repositories.com/f/web-development/local-first-api-clients/offline-first-api-client-with-sync.md) — Transmits payloads and captures responses from remote or local services for testing and research. ([source](https://docs.pwntools.com/en/latest))

### Testing & Quality Assurance

- [Memory Manipulation Utilities](https://awesome-repositories.com/f/testing-quality-assurance/memory-manipulation-utilities.md) — Provides utilities for modifying memory state in running processes to facilitate exploit testing and debugging. ([source](https://docs.pwntools.com/en/beta))
