
pwndbg v2026.07.29
Exploit-Entwicklung und Reverse Engineering mit GDB & LLDB leicht gemacht

pwndbg
pwndbg (/paʊnˈdiˌbʌɡ/) ist ein GDB- und LLDB-Plugin, das das Debuggen weniger ätzend macht, mit Fokus auf Funktionen, die von Low-Level-Softwareentwicklern, Hardware-Hackern, Reverse Engineers und Exploit-Entwicklern benötigt werden.
Es hat eine Unmenge an Funktionen, siehe unsere Features-Seite und CHEATSHEET (fühlen Sie sich frei, es auszudrucken!). Bei Fragen können Sie die Dokumentation lesen oder uns in unserem Discord-Server fragen.
Möchten Sie, dass Pwndbg schnell vorankommt, oder möchten Sie, dass wir einen Vortrag darüber halten? Sponsoren Sie uns!
Warum?
Vanilla GDB und LLDB sind schrecklich für Reverse Engineering und Exploit-Entwicklung. Die Eingabe von x/30gx $rsp oder die Navigation durch umständliche LLDB-Befehle macht keinen Spaß und liefert oft nur minimale Informationen. Das Jahr ist 2026, und die Kern-Debugger entbehren immer noch vieler benutzerfreundlicher Funktionen wie eines robusten Hexdump-Befehls. WinDbg-Benutzer sind völlig verloren, wenn sie gelegentlich auf GDB oder LLDB stoßen.
Pwndbg ist ein Python-Modul, das in GDB geladen oder als REPL-Schnittstelle für LLDB ausgeführt werden kann. Es bietet eine Reihe von Dienstprogrammen und Verbesserungen, die die von diesen Debuggern hinterlassenen Lücken füllen, raue Kanten glätten und sie benutzerfreundlicher machen.
Installation
Siehe Installationsanleitung.
Was ist mit ...?
Viele frühere (gdbinit, PEDA) und aktuelle Projekte (GEF, bata24/GEF) bieten großartige Funktionen, sind aber schwer erweiterbar und als große einzelne Dateien verpackt (103KB, 195KB, 423KB, 5.24MB). Pwndbg zielt darauf ab, sie durch eine schnellere, sauberere und robustere Implementierung zu ersetzen.
Wann sollte man GDB oder LLDB verwenden?
Pwndbg unterstützt sowohl GDB als auch LLDB, und jeder Debugger hat seine eigenen Stärken. Hier ist eine Kurzanleitung, die Ihnen bei der Entscheidung hilft, welchen Sie verwenden sollten:
| Anwendungsfall | Unterstützter Debugger |
|---|---|
| Debuggen von Linux-Binärdateien oder ELF-Dateien | GDB, LLDB |
| Debuggen von Mach-O-Binärdateien unter macOS | LLDB |
| Debuggen des Linux-Kernels (qemu-system) | GDB, LLDB |
| Linux-Benutzerraum-Emulation (qemu-user) | GDB |
| Eingebettetes Debuggen (ARM Cortex M* oder RISC-V/32) | GDB, LLDB |
Pwndbg sorgt für eine konsistente Erfahrung auf beiden, sodass der Wechsel zwischen ihnen nahtlos ist.
Die LLDB-Implementierung in pwndbg befindet sich noch in einem frühen Stadium und kann Fehler oder Einschränkungen enthalten.
Bekannte Probleme werden in GitHub Issues verfolgt.Wenn Sie auf Probleme stoßen, können Sie sie gerne melden oder in unserem Discord-Server diskutieren.
Kompatibilitätstabelle
| Feature | Unterstützte Version | Hinweise |
|---|---|---|
| pwndbg-gdb | - Python 3.10+ - GDB 12.1+ | Kampferprobt auf Ubuntu 22.04/24.04 |
| pwndbg-lldb | - Python 3.12+ - LLDB 19+ | Experimentelle/Frühphase-Unterstützung |
| qemu-user | QEMU 8.1+ | vFile-API wird für vmmap benötigt |
| qemu-system | QEMU 6.2+ | Unterstützte Version seit Ubuntu 22.04 |
Mitwirken
Pull-Requests sind willkommen ❤️. Schauen Sie sich den Contributing Guide an.
Danksagungen
Pwndbg wurde ursprünglich von Zach Riggle erstellt, der nicht mehr unter uns weilt. Wir möchten Zach für all seine Beiträge zu Pwndbg und der gesamten Sicherheitsgemeinschaft danken.