Pwndbg is a GDB plugin specifically designed for security vulnerability analysis. This tool greatly simplifies the difficulty researchers face when using GDB for vulnerability analysis and debugging. It primarily focuses on the functionalities required by software developers, hardware hackers, reverse engineers, and vulnerability analysts.
The original GDB is not suitable for reverse engineering and vulnerability development. Entering x/g30x $esp is not fun and does not provide much information. Thus, pwndbg was born.
Pwndbg is a Python module that directly loads into GDB, providing a set of utilities and helper tools to address all issues within GDB and eliminate rough edges.
Since this tool is developed based on Python 3, we first need to install and configure the latest version of the Python 3 environment on our local device.
Next, researchers can directly use the following command to clone the project source code to their local machine:
git clone https://github.com/pwndbg/pwndbg.git
Then switch to the project directory and use the installation script provided by the tool to complete the installation of pwndbg:
cd pwndbg
./setup.sh
Alternatively, use the following command to build the latest version of pwndbg from the project source code:
cd <gdb-sources-dir>
mkdir build && cd build
sudo apt install libgmp-dev libmpfr-dev libreadline-dev texinfo # required by build
../configure --disable-nls --disable-werror --with-system-readline --with-python=`which python3` --with-system-gdbinit=/etc/gdb/gdbinit --enable-targets=all
make -j7
Release Version Installation
We can also directly access the project’s Releases page to download the precompiled pwndbg version for the corresponding system architecture (x86_64, armv7l, aarch64, riscv64).
Other Installations
For RPM-based systems (CentOS/Alma/Rocky/RHEL):
dnf install ./pwndbg-2024.08.29.x86_64.rpm
# pwndbg
For DEB-based systems (Debian/Ubuntu/Kali):
apt install ./pwndbg_2024.08.29_amd64.deb
# pwndbg
Installation on Alpine:
apk add --allow-untrusted ./pwndbg_2024.08.29_x86_64.apk
# pwndbg
Installation on Arch Linux:
pacman -U ./pwndbg-2024.08.29-1-x86_64.pkg.tar.zst
# pwndbg
Generic Linux installation:
tar -v -xf ./pwndbg_2024.08.29_amd64.tar.xz
# ./pwndbg/bin/pwndbg
Tool Configuration
Context Viewing
Heap Memory Auditing
Data Leak Identification
IDAPRO Integration
Information Search
This project is developed and released under the MIT open source license agreement.
Pwndbg:
https://github.com/pwndbg/pwndbg
