
pwndbg v2026.07.29
Эксплойт-разработка и реверс-инжиниринг с GDB и LLDB стали проще

pwndbg
pwndbg (/paʊnˈdiˌbʌɡ/) — это плагин для GDB и LLDB, который делает отладку менее болезненной, с акцентом на функции, необходимые низкоуровневым разработчикам, хакерам оборудования, специалистам по реверс-инжинирингу и разработчикам эксплойтов.
У него масса функций, смотрите нашу страницу с функциями и CHEATSHEET (не стесняйтесь распечатать!). Если у вас есть вопросы, вы можете прочитать документацию или спросить нас на нашем сервере Discord.
Хотите, чтобы Pwndbg продолжал быстро развиваться, или пригласить нас выступить с докладом? Поддержите нас!
Почему?
Обычные GDB и LLDB ужасны для реверс-инжиниринга и разработки эксплойтов. Вводить x/30gx $rsp или пробираться через громоздкие команды LLDB — не весело и часто даёт минимум информации. На дворе 2026 год, а основные отладчики всё ещё лишены многих удобных функций, таких как надёжная команда hexdump. Пользователи WinDbg совершенно теряются, когда им иногда приходится сталкиваться с GDB или LLDB.
Pwndbg — это модуль Python, который можно загрузить в GDB или запустить как REPL-интерфейс для LLDB. Он предоставляет набор утилит и улучшений, заполняющих пробелы, оставленные этими отладчиками, сглаживая шероховатости и делая их более удобными.
Установка
Смотрите инструкции по установке.
А как насчёт ...?
Многие прошлые (gdbinit, PEDA) и текущие проекты (GEF, bata24/GEF) предлагают отличные функции, но их сложно расширять, и они упакованы в виде больших одиночных файлов (103KB, 195KB, 423KB, 5.24MB). Pwndbg стремится заменить их более быстрой, чистой и надёжной реализацией.
Когда использовать GDB или LLDB?
Pwndbg поддерживает как GDB, так и LLDB, и у каждого отладчика есть свои сильные стороны. Вот краткое руководство, которое поможет вам решить, какой из них использовать:
| Сценарий использования | Поддерживаемый отладчик |
|---|---|
| Отладка бинарных файлов Linux или ELF | GDB, LLDB |
| Отладка Mach-O бинарных файлов на macOS | LLDB |
| Отладка ядра Linux (qemu-system) | GDB, LLDB |
| Эмуляция пользовательского пространства Linux (qemu-user) | GDB |
| Отладка встраиваемых систем (ARM Cortex M* или RISC-V/32) | GDB, LLDB |
Pwndbg обеспечивает единообразный опыт работы с обоими, поэтому переключение между ними происходит бесшовно.
Реализация LLDB в pwndbg всё ещё находится на ранней стадии и может содержать ошибки или ограничения.
Известные проблемы отслеживаются в GitHub Issues.Если вы столкнулись с какими-либо проблемами, не стесняйтесь сообщать о них или обсуждать на нашем сервере Discord.
Таблица совместимости
| Функция | Поддерживаемая версия | Примечания |
|---|---|---|
| pwndbg-gdb | - Python 3.10+ - GDB 12.1+ | Проверено в бою на Ubuntu 22.04/24.04 |
| pwndbg-lldb | - Python 3.12+ - LLDB 19+ | Экспериментальная/ранняя поддержка |
| qemu-user | QEMU 8.1+ | Для vmmap требуется vFile API |
| qemu-system | QEMU 6.2+ | Поддерживаемая версия начиная с Ubuntu 22.04 |
Участие
Пул-реквесты приветствуются ❤️. Ознакомьтесь с Руководством по участию.
Благодарности
Pwndbg был изначально создан Заком Ригглом, которого больше нет с нами. Мы хотим поблагодарить Зака за все его вклады в pwndbg и более широкое сообщество безопасности.