工具

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 版本下运行。本次未运行任何调试会话。

关于此条目

类型
工具
类别
调试与动态分析
关联
基础工具
目标
二进制

来源复核于

说明已依据一手来源复核;这不代表已运行验证、经过安全审计或确认兼容。

一手来源

  1. README.md GitHub · hugsy/gef · 修订 49c07dc
  2. gef.py#L8-L28 GitHub · hugsy/gef · 修订 49c07dc
  3. gef.py#L130-L131 GitHub · hugsy/gef · 修订 49c07dc
  4. docs/install.md GitHub · hugsy/gef · 修订 49c07dc
  5. docs/compat.md GitHub · hugsy/gef · 修订 49c07dc
  6. docs/commands/gef-remote.md GitHub · hugsy/gef · 修订 49c07dc
  7. docs/commands/heap.md GitHub · hugsy/gef · 修订 49c07dc
  8. docs/index.md#L83-L85 GitHub · hugsy/gef · 修订 49c07dc
  9. docs/testing.md GitHub · hugsy/gef · 修订 49c07dc
  10. LICENSE GitHub · hugsy/gef · 修订 49c07dc
  11. https://github.com/hugsy/gef/releases/tag/2026.01