pwndbg/pwndbg

GitHub: pwndbg/pwndbg

这是一个旨在让漏洞利用开发和逆向工程变得更轻松的 GDB 与 LLDB 增强插件,通过模块化设计解决了原生调试器易用性差的问题。

Stars: 10149 | Forks: 1192

![repository-open-graph](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/606f3484a1191100.png) # pwndbg [![license](https://img.shields.io/github/license/mashape/apistatus.svg?maxAge=2592000)](https://choosealicense.com/licenses/mit/) [![Tests](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/ee0d7d000e191101.svg)](https://github.com/pwndbg/pwndbg/actions/workflows/tests.yml) [![codecov.io](https://codecov.io/github/pwndbg/pwndbg/branch/dev/badge.svg?token=i1cBPFVCav)](https://app.codecov.io/github/pwndbg/pwndbg/tree/dev) [![Discord](https://img.shields.io/discord/843809097920413717?label=Discord&style=plastic)](https://discord.gg/x47DssnGwm) `pwndbg` (/paʊnˈdiˌbʌɡ/) 是一个 GDB 和 LLDB 插件,旨在让调试不再那么痛苦, 重点关注底层软件开发者、硬件黑客、 逆向工程师和漏洞利用开发者所需的功能。 它拥有 heaps of features,请查看我们的 [功能页面](https://pwndbg.re/stable/features/) 和 [CHEATSHEET][CHEATSHEET](随时可以打印!)。如果你有任何问题,可以阅读 [文档](https://pwndbg.re/stable/) 或在我们的 [Discord 服务器](https://discord.gg/x47DssnGwm) 中提问。 ## 为什么? 原生的 GDB 和 LLDB 在用于逆向工程和漏洞利用开发时体验极差。 输入 `x/30gx $rsp` 或导航繁琐的 LLDB 命令并不有趣,而且通常只提供 最少量的信息。现在是 2026 年,核心调试器仍然缺乏许多用户友好的 功能,例如强大的 hexdump 命令。当 WinDbg 用户 偶尔需要接触 GDB 或 LLDB 时,往往会感到完全迷失。 Pwndbg 是一个 Python 模块,可以加载到 GDB 中,或作为 LLDB 的 REPL 接口运行。 它提供了一套实用程序和增强功能,填补了这些调试器留下的空白, 消除了粗糙的边缘,使其更加用户友好。 ## 安装 请参阅 [安装说明](https://pwndbg.re/stable/setup)。 ## 其他工具对比? 许多过去([gdbinit][gdbinit]、[PEDA][PEDA])和现在的项目([GEF][GEF]、 [bata24/GEF][bata24/GEF])提供了很棒的功能,但难以扩展,并且被打包成 巨大的单个文件([103KB][gdbinit2]、[195KB][peda.py]、[423KB][gef.py]、 [5.24MB][bata24/gef.py])。Pwndbg 旨在用更快、更简洁且 更健壮的实现来替代它们。 ## 何时使用 GDB 或 LLDB? Pwndbg 同时支持 GDB 和 LLDB,每种调试器各有优势。 以下是一个快速指南,可帮助你决定使用哪一个: | 使用场景 | 支持的调试器 | |-------------------------------------------------|----------------------| | 调试 Linux 二进制文件或 ELF 文件 | **GDB**, **LLDB** | | 在 macOS 上调试 Mach-O 二进制文件 | **LLDB** | | Linux 内核调试 (qemu-system) | **GDB**, **LLDB** | | Linux 用户空间模拟 (qemu-user) | **GDB** | | 嵌入式调试 (ARM Cortex M* 或 RISC-V/32) | **GDB**, **LLDB** | Pwndbg 确保两者之间的一致体验,因此在它们之间切换是无缝的。 ### 兼容性表格 | 功能 | 支持的版本 | 备注 | |-------------|---------------------------------|--------------------------------------| | 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 起支持的版本 | ## 贡献 欢迎提交 Pull requests ❤️。请查看 [贡献指南](https://pwndbg.re/dev/contributing/)。 ## 致谢 Pwndbg 最初由 [Zach Riggle](https://github.com/zachriggle) 创建,他已不在我们身边。我们要感谢 Zach 对 pwndbg 和更广泛的安全社区所做出的所有贡献。
标签:Aarch64, DNS 反向解析, GDB, JARM, LLDB, Pwndbg, Python, XML 请求, 二进制分析, 云安全运维, 云资产清单, 内存分析, 内核调试, 安全开发, 无后门, 汇编, 漏洞利用开发, 硬件黑客, 自定义密码套件, 调试器插件, 身份验证强制, 逆向工具, 逆向工程