Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heap analysis #1785

Draft
wants to merge 181 commits into
base: dev
Choose a base branch
from
Draft

Heap analysis #1785

wants to merge 181 commits into from

Conversation

zer1t0
Copy link

@zer1t0 zer1t0 commented Feb 6, 2021

heap module

This pull request includes:

  1. A MemoryMaps class (in pwnlib/util/proc) that allows to parse the memory
    maps of a process (/proc//maps)

  2. A heap module (in pwnlib/heap/) that allows to get the information of the arena.

The heap module includes:

  • The HeapExplorer class, that it is the main interface that
    allows to invoke the functionality of the rest of the module.

  • The malloc_state submodule to parse and obtain info from the malloc_state
    structure.

  • The heap submodule to get the info about the heaps of the process.

  • The bins submodule that allows to parse and manage the information about
    the bins of the arena. In includes modules/classes for each bin type:

    • Tcache
    • Fast bins
    • Unsorted bin
    • Small bins
    • Large bins
  • The arena submodule, that contains the Arena class that storages all the
    information about the arena: heap, malloc_state, and bins.

  • The ProcessInformer (heap/process_informer) class to obtain information
    about the process. Maybe its functionality should be provide by another module
    of pwntools.

Each class contains doc tests that provides examples of its use.

zer1t0 and others added 30 commits December 30, 2019 02:16
@zer1t0 zer1t0 marked this pull request as ready for review June 13, 2021 20:51
@zer1t0 zer1t0 requested a review from heapcrash June 13, 2021 20:52
@zer1t0 zer1t0 marked this pull request as draft June 13, 2021 20:52
@zer1t0
Copy link
Author

zer1t0 commented Nov 11, 2021

any updates here?

@Arusekk
Copy link
Member

Arusekk commented Apr 19, 2022

I hate to be pessimistic, but I believe this would better belong to projects like pwndbg. As for the realistic stuff, there are several merge conflicts standing in the way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants