工具
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
同分区更多条目:原生二进制
- Triton 动态二进制分析库 · 工具
- PyLingual Python 字节码反编译器 · 工具
- Miasm 逆向工程框架 · 工具
- HyperDbg 虚拟化辅助调试器 · 工具
- Kuna 智能体优先反编译器 · 工具
- Binary Ninja 公开 API · 工具