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.
Main Features
This is what Heappy implements:
✅ take heap snapshots and compare them each other
✅ recognize immediately type and fields of heap bins
✅ search and edit heap values by decimal, hex or string
✅ find yourself with the panoramic view of the heap status
✅ take notes about a cell in the comment column
✅ enjoy the light and dark mode
Getting Started
These instructions will help you to install and run Heappy fastly.
Prerequisites
If you don’t have it, install GEF in GDB:
wget -q -O- https://github.com/hugsy/gef/raw/master/scripts/gef.sh | sh
md5(gef.sh): eb053864d050048cb001c80c79fde7b5
Installing
Install Node.js and npm:
apt update
sudo apt install nodejs npm
Download and install Heappy:
git clone https://github.com/gand3lf/heappy
cd heappy/
npm install
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.
For example:
gef➤ break main
gef➤ run
From another terminal launch the GUI:
cd /my/path/heappy/
npm start
The groupdel command in Linux removes a group from the system. It deletes the group's entry from /etc/group and /etc/gshadow,…
The wc command in Linux counts lines, words, characters, and bytes in files or standard input. It…
The top command in Linux provides a real-time view of running processes and system resource usage. From…
The usermod command in Linux modifies existing user account attributes. You can use it to manage group…
The sort command in Linux reads lines from files or standard input and writes them to standard…
The wall command in Linux sends a message to the terminals of all currently logged-in users. The…