A GDB and LLDB plug-in that enhances debugging for exploit development, reverse engineering, and low-level software development.
Pwndbg is a Python plug-in for GDB and LLDB that dramatically improves the debugging experience for low-level software work. It provides a suite of utilities and visual enhancements tailored for exploit development, reverse engineering, and hardware hacking, addressing the limitations and cumbersome interfaces of vanilla debuggers.
Low-level software developers, hardware hackers, reverse engineers, and exploit developers who regularly work with GDB or LLDB for debugging binaries, analyzing vulnerabilities, or developing security exploits.
Developers choose Pwndbg because it replaces older, monolithic debugger enhancements with a faster, modular, and more extensible implementation, offering a consistent and feature-rich experience across both GDB and LLDB while specifically catering to the needs of security and low-level programming.
Exploit Development and Reverse Engineering with GDB & LLDB Made Easy
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides robust hexdump commands and improved memory/register displays, directly replacing cumbersome vanilla GDB commands like `x/30gx $rsp` for clearer debugging.
Includes utilities specifically tailored for security work, such as heap analysis and ROP gadget searching, making it ideal for writing and debugging exploits.
Works with both GDB and LLDB, ensuring a consistent experience across platforms, as highlighted in the compatibility table for Linux, macOS, and embedded debugging.
Built as a collection of Python modules, making it faster, cleaner, and more extensible than older single-file alternatives like GEF or PEDA, per the README's philosophy.
The LLDB implementation is still in early-stage, with known bugs and limitations admitted in the README, which can lead to instability on macOS or newer systems.
Requires specific Python and debugger versions (e.g., Python 3.10+ for GDB, LLDB 19+), complicating setup on older or non-standard environments.
Despite simplifying low-level debugging, its feature-rich nature assumes prior familiarity with GDB/LLDB and exploit concepts, making it less accessible for casual users.