Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
heapinspect — 🔍用于CTF pwn的堆分析工具。 | Kitploit
工具/GitHubGitHub/matrix1001/heapinspect
漏洞利用调试器CTF二进制分析
GitHubmatrix1001/heapinspect

heapinspect

🔍用于CTF pwn的堆分析工具。

查看仓库
225205年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

HeapInspect

Pwnning 是一门艺术。

HeapInspect 旨在让 堆 变得更加美观。

现在此工具是 nadbg 的一个插件。试试看!

特性

  • 无需 gdb 或其它依赖
  • 多 glibc 支持
    • 2.19, 2.23-2.27(当前已测试)
    • 同时支持 32 位和 64 位
  • 美观的堆展示界面
    • HeapShower(详细)
    • PrettyPrinter(彩色,摘要)
  • 堆差异对比(开发中)
  • 损坏检测与漏洞利用分析(开发中)
  • 同时支持 gdb
  • 兼容 Python2 和 Python3

用法

快速上手

工具的快速使用示例。

pp1

pp2

raw1

rela1

你也可以将其作为 gdb 插件使用,当 pwndbg 或其他插件无法分析堆时非常有用。

root@kitploit:~
sed -i "1i source `pwd`/gdbscript.py" ~/.gdbinit # 或者,你也可以手动添加那一行

注意

gdb1

gdb2

gdb3

基础

使用非常简单。之后我会将其打包成软件包。

root@kitploit:~
from heapinspect.core import *
hi = HeapInspector(1234)       # 这里是 pid
hs = HeapShower(hi)

print(hs.fastbins)
print(hs.smallbins)
print(hs.largebins)
print(hs.unsortedbins)
print(hs.tcache_chunks)

hs.relative = 1              # 相对模式,参见快速上手
print(hs.fastbins)

sleep(10)
# 现在假设堆状态发生了变化
hs.update()                  # 使用这个来刷新

pp = PrettyPrinter(hi)
print(pp.all)                # 漂亮打印机
pp.update()                  # 使用这个来更新

测试

这里有一些测试用例。

root@kitploit:~
heapinspect/tests/ $ python test.py  # 这会运行所有测试用例来检查这个工具。

......
......

test case unsortedbins64 at test/testcases/libc-2.27/64bit
pid:6704
=========================           fastbins           =========================
=========================         unsortedbins         =========================
chunk(0x7f9aae2e6720): prev_size=0x0      size=0xb1     fd=0x7f9aacdfbca0  bk=0x7f9aae2e6880
chunk(0x7f9aae2e6880): prev_size=0x0      size=0xb1     fd=0x7f9aae2e6720  bk=0x7f9aacdfbca0
=========================          smallbins           =========================
=========================          largebins           =========================
=========================            tcache            =========================
tcache[9]:
chunk(0x7f9aae2e6670): prev_size=0x0      size=0xb1     fd=0x7f9aae2e65d0  bk=0x0
chunk(0x7f9aae2e65c0): prev_size=0x0      size=0xb1     fd=0x7f9aae2e6520  bk=0x0
chunk(0x7f9aae2e6510): prev_size=0x0      size=0xb1     fd=0x7f9aae2e6470  bk=0x0
chunk(0x7f9aae2e6460): prev_size=0x0      size=0xb1     fd=0x7f9aae2e63c0  bk=0x0
chunk(0x7f9aae2e63b0): prev_size=0x0      size=0xb1     fd=0x7f9aae2e6310  bk=0x0
chunk(0x7f9aae2e6300): prev_size=0x0      size=0xb1     fd=0x7f9aae2e6260  bk=0x0
chunk(0x7f9aae2e6250): prev_size=0x0      size=0xb1     fd=0x0             bk=0x0

文档

详细的文档字符串已经写入源代码中。

我在 docs 目录下构建了 sphinx 文档。只需在浏览器中打开 docs/build/html/index.html 即可。

开发日志

2020/5/11 版本 0.1.4

  • 支持 Python3

2018/12/10 版本 0.1.3

  • 添加对 gdb 的支持

2018/11/6 版本 0.1.2

文档更新。

  • 更新 sphinx 文档
  • 重新调整文件结构

2018/11/5 版本 0.1.1

非功能性更新。

  • PEP8 规范
  • 文档字符串
  • 性能优化

2018/10/31 版本 0.1.0

首次发布

  • 更好的命令行选项

2018/10/30 版本 0.0.8

下一个版本将作为正式发布。

  • CRLF 转为 LF
  • 代码优化
  • README 优化
  • 漂亮打印机

2018/10/29 版本 0.0.7

  • 自动测试
  • 代码优化

2018/10/27 版本 0.0.6

这不是一个稳定版本。我正在尝试修复由于不同 glibc 版本导致的错误。我需要帮助来测试这个版本。

  • 添加多 libc 支持
  • 添加 x86 支持

2018/10/26 版本 0.0.5

下一个版本将添加多 libc 支持。堆差异对比和堆检查将在后续添加。

  • HeapShower
  • 显示相对堆和 libc 偏移量
  • 修复搜索循环错误
  • bins 现在从 bk 而不是 fd 开始搜索,以符合 glibc 的行为方式

2018/10/24 版本 0.0.4

  • HeapRecoder,将用于堆差异对比
  • smallbins 和 largebins

2018/10/23 版本 0.0.3

  • fastbin 原型
  • unsortedbin 原型
  • bins 原型
  • tcache 原型

2018/10/22 版本 0.0.2

  • 添加 C_Struct 用于处理 C 结构体

2018/10/19 版本 0.0.1

  • 添加 class HeapInspector
  • 尝试解析 arena 的更多信息

2018/10/18 版本 0.0.0

  • 在 proc_util 中添加 class Proc
  • 在 test.py 中进行实验性测试
下载工具