
익스플로잇 과정을 지원하는 즐거운 힙 편집기 🙂
Heappy는 익스플로잇 개발 과정에서 힙을 다루는 데 도움을 주는 gdb/gef 기반 에디터입니다.
이 프로젝트는 프로세스 수명 주기 동안 힙의 변화를 이해하는 데 유용한 교육용 도구로 간주해야 합니다. 가장 일반적인 힙 익스플로잇 기법 연구를 단순화하고, 이 환상적인 주제와 관련된 일부 바이너리 익스플로잇 CTF 문제를 푸는 데 도움을 주기 위해 만들어졌습니다.
Heappy가 구현하는 기능은 다음과 같습니다:
✅ 힙 스냅샷을 캡처하고 서로 비교할 수 있습니다
✅ 힙 bin의 유형과 필드를 즉시 인식할 수 있습니다
✅ 10진수, 16진수 또는 문자열로 힙 값을 검색하고 편집할 수 있습니다
✅ 힙 상태의 파노라마 뷰를 통해 위치를 파악할 수 있습니다
✅ 주석 열에 셀에 대한 메모를 남길 수 있습니다
✅ 라이트 모드와 다크 모드를 즐길 수 있습니다
다음 지침은 Heappy를 신속하게 설치하고 실행하는 데 도움이 됩니다.
아직 GEF가 없다면 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 체크포인트 통합
| 라이선스 | 호환성 |
|---|---|