
Весёлый редактор кучи для поддержки вашего процесса эксплуатации 🙂
Heappy — это редактор на основе gdb/gef, который помогает вам работать с кучей в процессе разработки эксплойтов.
Проект следует рассматривать как дидактический инструмент, полезный для понимания эволюции кучи на протяжении жизненного цикла процесса. Он был создан для упрощения изучения наиболее распространённых техник эксплуатации кучи и для помощи в решении некоторых CTF-задач по эксплуатации бинарных программ, связанных с этой замечательной темой.
Вот что реализует Heappy:
✅ делать снимки кучи и сравнивать их между собой
✅ мгновенно распознавать тип и поля бинов кучи
✅ искать и редактировать значения кучи в десятичном, шестнадцатеричном или строковом виде
✅ ориентироваться благодаря панорамному виду состояния кучи
✅ оставлять заметки о ячейке в колонке комментариев
✅ наслаждаться светлой и тёмной темой
Эти инструкции помогут вам быстро установить и запустить Heappy.
Если у вас его нет, установите GEF в GDB:
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 после инициализации целевой кучи.
Например:
gef➤ break main
gef➤ run
Из другого терминала запустите графический интерфейс:
cd /my/path/heappy/
npm start
Приятного использования! 🚀
🔲 поддержка 32-битных адресов (скоро)
🔲 поддержка нескольких куч
🔲 интеграция с контрольными точками gdb