工具
GEF GDB 增强扩展
单文件 Python 扩展 gef.py,为 GDB 增加动态分析命令。每次程序停下时都会显示寄存器、栈、代码、线程和调用轨迹等上下文视图,命令涵盖内存映射、指针解引用、在进程内存中搜索模式、ELF 与安全属性信息、进程状态以及 glibc 堆检查。其架构抽象层覆盖 x86-32/64、ARMv5–v7、AArch64、SPARC、MIPS 和 PowerPC;gef-remote 命令可通过 gdbserver 或 qemu-user、qemu-system 的 GDB stub 增强远程调试会话。
使用条件与局限
- 需要以 Python 3.10+ 构建的 GDB 10.0+(兼容性表显示自 GEF 2025.01 起即为此基线),宿主机上还需有 file、readelf、nm、ps 和 python3;仍需 Python 2 的用户请改用独立的 gef-legacy。README 介绍的安装方式是通过安装脚本或手动下载 gef.py,并在用户的 .gdbinit 文件中加载它。
- 审阅时的版本为 2026.01,发布于 2026-02-02,不含二进制资源;所审阅的 main 分支提交比该版本多 12 个提交,增加了对 glibc 2.42/2.43 堆的支持并移除了无人维护的命令。更多命令位于独立的 GEF-Extras 仓库,本次未审阅。
- GEF 依赖 GDB API 以及 /proc/<pid> 等 Linux 特有的信息来源,因此部分功能在定制或加固的系统上可能无法使用,堆命令也只支持 glibc 分配器。qemu 模式需要本地保存一份被调试的二进制,因为 QEMU 的 GDB stub 无法传输文件。README 将其定位为面向漏洞利用开发者和逆向工程人员的工具;本条目只涉及其调试与检查用途。
- 采用 MIT 许可。测试使用 pytest,并须在 GDB 编译时所用的 Python 版本下运行。本次未运行任何调试会话。
关于此条目
- 类型
- 工具
- 类别
- 调试与动态分析
- 关联
- 基础工具
- 目标
- 二进制
来源复核于
说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。
一手来源
- README.md GitHub · hugsy/gef · 修订 49c07dc
- gef.py#L8-L28 GitHub · hugsy/gef · 修订 49c07dc
- gef.py#L130-L131 GitHub · hugsy/gef · 修订 49c07dc
- docs/install.md GitHub · hugsy/gef · 修订 49c07dc
- docs/compat.md GitHub · hugsy/gef · 修订 49c07dc
- docs/commands/gef-remote.md GitHub · hugsy/gef · 修订 49c07dc
- docs/commands/heap.md GitHub · hugsy/gef · 修订 49c07dc
- docs/index.md#L83-L85 GitHub · hugsy/gef · 修订 49c07dc
- docs/testing.md GitHub · hugsy/gef · 修订 49c07dc
- LICENSE GitHub · hugsy/gef · 修订 49c07dc
- https://github.com/hugsy/gef/releases/tag/2026.01