
pwndbg v2026.07.29
Développement d'exploits et rétro-ingénierie simplifiés avec GDB et LLDB

pwndbg
pwndbg (/paʊnˈdiˌbʌɡ/) est un plugin GDB et LLDB qui rend le débogage moins pénible,
avec un accent sur les fonctionnalités nécessaires aux développeurs bas niveau, aux hackers matériels,
aux rétro-ingénieurs et aux développeurs d'exploits.
Il a une multitude de fonctionnalités, consultez notre page Fonctionnalités et CHEATSHEET (n'hésitez pas à l'imprimer !). Si vous avez des questions, vous pouvez lire la documentation ou nous les poser sur notre serveur Discord.
Vous voulez que Pwndbg continue d'aller vite, ou que nous donnions une conférence à ce sujet ? Sponsorisez-nous !
Pourquoi ?
Vanilla GDB et LLDB sont terribles à utiliser pour la rétro-ingénierie et le développement d'exploits.
Taper x/30gx $rsp ou naviguer dans les commandes LLDB fastidieuses n'est pas amusant et fournit souvent
un minimum d'informations. Nous sommes en 2026, et les débogueurs de base manquent encore de nombreuses
fonctionnalités conviviales comme une commande hexdump robuste. Les utilisateurs de WinDbg sont complètement
perdus lorsqu'ils doivent occasionnellement tomber sur GDB ou LLDB.
Pwndbg est un module Python qui peut être chargé dans GDB ou exécuté comme une interface REPL pour LLDB. Il fournit une suite d'utilitaires et d'améliorations qui comblent les lacunes de ces débogueurs, lissant les aspérités et les rendant plus conviviaux.
Installation
Voir les instructions d'installation.
Et quoi d'autre ...?
De nombreux projets passés (gdbinit, PEDA) et présents (GEF, bata24/GEF) offrent d'excellentes fonctionnalités, mais sont difficiles à étendre et sont fournis sous forme de gros fichiers uniques (103KB, 195KB, 423KB, 5.24MB). Pwndbg vise à les remplacer par une implémentation plus rapide, plus propre et plus robuste.
Quand utiliser GDB ou LLDB ?
Pwndbg prend en charge à la fois GDB et LLDB, et chaque débogueur a ses propres atouts. Voici un guide rapide pour vous aider à décider lequel utiliser :
| Cas d'utilisation | Débogueur supporté |
|---|---|
| Débogage de binaires Linux ou de fichiers ELF | GDB, LLDB |
| Débogage de binaires Mach-O sur macOS | LLDB |
| Débogage du noyau Linux (qemu-system) | GDB, LLDB |
| Émulation espace utilisateur Linux (qemu-user) | GDB |
| Débogage embarqué (ARM Cortex M* ou RISC-V/32) | GDB, LLDB |
Pwndbg garantit une expérience cohérente sur les deux, donc passer de l'un à l'autre est transparent.
L'implémentation LLDB dans pwndbg est encore en phase précoce et peut contenir des bugs ou des limitations.
Les problèmes connus sont suivis dans GitHub Issues.Si vous rencontrez des problèmes, n'hésitez pas à les signaler ou à en discuter sur notre serveur Discord.
Tableau de compatibilité
| Fonctionnalité | Version supportée | Notes |
|---|---|---|
| pwndbg-gdb | - Python 3.10+ - GDB 12.1+ | Testé sur le terrain sur Ubuntu 22.04/24.04 |
| pwndbg-lldb | - Python 3.12+ - LLDB 19+ | Support expérimental/précoce |
| qemu-user | QEMU 8.1+ | L'API vFile est nécessaire pour vmmap |
| qemu-system | QEMU 6.2+ | Version supportée depuis Ubuntu 22.04 |
Contribuer
Les pull requests sont les bienvenues ❤️. Consultez le Guide de contribution.
Remerciements
Pwndbg a été créé à l'origine par Zach Riggle, qui n'est plus parmi nous. Nous tenons à remercier Zach pour toutes ses contributions à pwndbg et à la communauté de la sécurité en général.