Heappy is an editor based on gdb/gef that helps you to handle the heap during your exploitation development.
The project should be considered a didactic tool useful to understand the evolution of the heap during the process life cycle. It has been created to simplify the study of the most common heap exploitation techniques and to support you to solve some binary exploitation CTFs related to this fantastic topic.
This is what Heappy implements:
These instructions will help you to install and run Heappy fastly.
If you don’t have it, install GEF in GDB:
wget -q -O- https://github.com/hugsy/gef/raw/master/scripts/gef.sh | sh
Install Node.js and npm:
sudo apt install nodejs npm
Download and install Heappy:
git clone https://github.com/gand3lf/heappy
Load the server inside GDB:
gef➤ source /my/path/heappy/server/heappy.py
It is suggested to run the Heappy GUI after that the target heap has been initialized.
gef➤ break main
From another terminal launch the GUI:
Not yet implemented
32-bit addresses support (coming soon)
multiple heaps support
gdb checkpoint integration