What is the project about?
Pwndbg is a GDB and LLDB plugin designed to enhance the debugging experience, particularly for low-level software developers, hardware hackers, reverse-engineers, and exploit developers.
What problem does it solve?
It addresses the limitations and usability issues of vanilla GDB and LLDB, which can be cumbersome and lack user-friendly features for reverse engineering and exploit development.
What are the features of the project?
- Provides a suite of utilities and enhancements to GDB and LLDB.
- A lot of features, detailed in FEATURES.md and [CHEATSHEET][CHEATSHEET].
- Clean implementation designed for speed and resilience.
- Batteries-included approach, with all features available upon setup.
What are the technologies used in the project?
- Python (as a GDB/LLDB module)
- GDB (GNU Debugger)
- LLDB (Low Level Debugger)
- Supports Nix package manager.
- Can be built from source or used as pre-built packages.
What are the benefits of the project?
- Improved debugging workflow for low-level tasks.
- Enhanced user experience compared to standard GDB/LLDB.
- Extensible and maintainable codebase.
- Consistent experience across GDB and LLDB.
What are the use cases of the project?
- Debugging Linux binaries or ELF files (GDB, LLDB).
- Debugging Mach-O binaries on macOS (LLDB).
- Linux kernel debugging (qemu-system) (GDB, LLDB).
- Linux user-space emulation (qemu-user) (GDB).
- Embedded debugging (ARM Cortex M* or RISC-V/32) (GDB, LLDB).
- Reverse engineering.
- Exploit development.
- Hardware hacking.
