一个用于检查堆的 IDA Pro 插件,专注于漏洞利用开发。
目前支持 glibc malloc 实现 (ptmalloc2)。
只需将 heap_viewer.py 文件和 heap_viewer 文件夹放入 IDA 的插件目录。
如果仅为当前用户安装,可将文件复制到以下目录之一:
| 操作系统 | 插件路径 |
|---|---|
| Linux/macOS | ~/.idapro/plugins |
| Windows | %AppData%\Hex-Rays\IDA Pro\plugins |
目前该插件无需配置,因为它会自动尝试获取分析堆所需的偏移量。
不过,如果插件失败,可以在配置标签中手动设置不同的偏移量。要获取这些偏移量,可以使用 utils 文件夹中的任意工具。
如果发现任何不一致,请告知我 :)
跟踪器

区域与块信息

Tcache 条目

箱子

箱子图

Fastbin 图

Tcache 图

查找假 fastbin

Unlink 合并信息

有用的 libc 偏移量

我推荐在学习堆漏洞利用时配合本工具使用以下资源。
特别感谢我的同事 soez、wagiro 和 DiaLluvioso,他们在插件开发过程中为我提供了许多想法。当然,也要感谢 @pwndbg 项目,我从中学到了一些堆解析的内容。
任何评论、问题或拉取请求都将不胜感激 :-)