Heappy 是一款基于 gdb/gef 的编辑器,可帮助你在漏洞利用开发过程中处理堆。
该项目应被视为一种教学工具,有助于理解堆在进程生命周期中的演化过程。它的创建是为了简化最常见堆利用技术的学习,并支持你解决与此主题相关的二进制利用 CTF。
这是 Heappy 实现的功能:
✅ 获取堆快照并相互比较
✅ 立即识别堆 bin 的类型和字段
✅ 通过十进制、十六进制或字符串搜索和编辑堆值
✅ 借助堆状态的全景视图轻松定位
✅ 在注释列中记录关于某个单元格的备注
✅ 享受浅色和深色模式
以下说明将帮助你快速安装和运行 Heappy。
如果你还没有它,请在 GDB 中安装 GEF:
wget -q -O- https://github.com/hugsy/gef/raw/master/scripts/gef.sh | sh
md5(gef.sh): eb053864d050048cb001c80c79fde7b5
安装 Node.js 和 npm:
apt update
sudo apt install nodejs npm
下载并安装 Heappy:
git clone https://github.com/gand3lf/heappy
cd heappy/
npm install
在 GDB 中加载服务器:
gef➤ source /my/path/heappy/server/heappy.py
建议在目标堆初始化之后运行 Heappy GUI。
例如:
gef➤ break main
gef➤ run
从另一个终端启动 GUI:
cd /my/path/heappy/
npm start
玩得开心! 🚀
🔲 32 位地址支持(即将推出)
🔲 多堆支持
🔲 gdb 检查点集成