• Stars
    star
    481
  • Rank 90,784 (Top 2 %)
  • Language
    Python
  • License
    MIT License
  • Created over 14 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

python library to examine ptmalloc (the glibc userland heap implementation)

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 |
 |      |       |     |     |        |
 +------+       +-----+     +--------+
-----------------------------------------------------------------------