Awesome
Libheap
[libheap
] is a python library to examine ptmalloc (the glibc userland heap implementation).
It is currently tested and known working on:
glibc | distro |
---|---|
2.15 | Ubuntu 12.04 LTS amd64 |
2.19 | Ubuntu 14.04 LTS i386, Ubuntu 14.04 LTS amd64 |
2.23 | Ubuntu 16.04 LTS i386, Ubuntu 16.04 LTS amd64 |
2.24 | Fedora 25 x86_64, Ubuntu 16.10 amd64, Ubuntu 17.04 amd64 |
Installation
Please refer to the Install Guide.
Usage
Please refer to the User Guide.
Design
-----------------------------------------------------------------------
debugger frontend (commands and prettyprinters)
libheap/frontend
+-----+
| |
| gdb |
| |
+--+--+
|
------------------------+----------------------------------------------
| core logic (debugger-agnostic)
| libheap/ptmalloc
+----+-----+
| |
| ptmalloc |
| |
+----+-----+
|
------------------------+----------------------------------------------
| debugger-dependent APIs
| libheap/pydbg
+--------------+-----+---------+-------------+
| | | |
+--+---+ +------+------+ +----+----+ +----+---+
| | | | | | | |
| lldb | | pygdbpython | | pygdbmi | | r2pipe |
| TODO | | | | TODO | | TODO |
| | | | | | | |
+---+--+ +-------+-----+ +---+-----+ +----+---+
| | | |
| | | +---------+
| | | |
----+--------------+-------------+----+--------------------------------
| | | | debugger-provided backend
| | | +--+
| | +--------+ |
+--+---+ +--+--+ | +------+-+
| | | | | | |
| lldb | | gdb +-+ | ptrace |
| | | | | |
+------+ +-----+ +--------+
-----------------------------------------------------------------------