Skip to main content

pwndbg

GDB and LLDB plugin that improves debugging for exploit development, reverse engineering, and CTF challenges with low-level inspection helpers.

Technical Architecture & Overview

pwndbg is an open-source Python plugin for GDB and LLDB that adds memory, stack, heap, and instruction inspection helpers for low-level debugging. It is widely used for exploit development, reverse engineering, and CTF challenges.

Targeted Technical Use Cases

Debugging complex binaries, analyzing memory corruptions, and teaching low-level program behavior.

Evaluation & Trade-offs

Core Strengths

  • +Provides intuitive commands for stack, heap, registers, and memory inspection.
  • +Works with both GDB (battle-tested) and LLDB (experimental).
  • +Optimized for exploit development and CTF scenarios.

Trade-Offs & Limitations

  • -Primarily focused on x86/x64 and common architectures; some platforms are less supported.
  • -Advanced use requires strong knowledge of low-level debugging and assembly.

Defensive Security Application

Analyzing crash triage, verifying exploit mitigations, and investigating binary behavior during incident response.

Frequently Asked Questions

What is pwndbg?

pwndbg is an open-source Python plugin for GDB and LLDB that adds memory, stack, heap, and instruction inspection helpers for low-level debugging. It is widely used for exploit development, reverse engineering, and CTF challenges.

What is pwndbg used for?

Debugging complex binaries, analyzing memory corruptions, and teaching low-level program behavior.

What are the strengths of pwndbg?
  • +Provides intuitive commands for stack, heap, registers, and memory inspection.
  • +Works with both GDB (battle-tested) and LLDB (experimental).
  • +Optimized for exploit development and CTF scenarios.
What are the limitations of pwndbg?
  • +Primarily focused on x86/x64 and common architectures; some platforms are less supported.
  • +Advanced use requires strong knowledge of low-level debugging and assembly.
How is pwndbg used defensively?

Analyzing crash triage, verifying exploit mitigations, and investigating binary behavior during incident response.