
Un éditeur de heap convivial pour accompagner votre processus d'exploitation 🙂
Heappy est un éditeur basé sur gdb/gef qui vous aide à gérer le tas pendant le développement de vos exploits.
Le projet doit être considéré comme un outil didactique utile pour comprendre l'évolution du tas au cours du cycle de vie du processus. Il a été créé pour simplifier l'étude des techniques d'exploitation de tas les plus courantes et pour vous aider à résoudre certains CTF d'exploitation binaire liés à ce sujet fantastique.
Voici ce que Heappy implémente :
✅ prendre des instantanés du tas et les comparer entre eux
✅ reconnaître immédiatement le type et les champs des bins du tas
✅ rechercher et modifier les valeurs du tas en décimal, hexadécimal ou chaîne
✅ vous repérer grâce à la vue panoramique de l'état du tas
✅ prendre des notes sur une cellule dans la colonne des commentaires
✅ profiter des modes clair et sombre
Ces instructions vous aideront à installer et à exécuter Heappy rapidement.
Si vous ne l'avez pas, installez GEF dans GDB :
wget -q -O- https://github.com/hugsy/gef/raw/master/scripts/gef.sh | sh
md5(gef.sh): eb053864d050048cb001c80c79fde7b5
Installez Node.js et npm :
apt update
sudo apt install nodejs npm
Téléchargez et installez Heappy :
git clone https://github.com/gand3lf/heappy
cd heappy/
npm install
Chargez le serveur dans GDB :
gef➤ source /my/path/heappy/server/heappy.py
Il est recommandé d'exécuter l'interface graphique de Heappy après que le tas cible a été initialisé.
Par exemple :
gef➤ break main
gef➤ run
Depuis un autre terminal, lancez l'interface graphique :
cd /my/path/heappy/
npm start
Amusez-vous bien ! 🚀
🔲 prise en charge des adresses 32 bits (bientôt disponible)
🔲 prise en charge de plusieurs tas
🔲 intégration des points de contrôle gdb