rizinorg / rizin

UNIX-like reverse engineering framework and command-line toolset.
https://rizin.re
GNU Lesser General Public License v3.0
2.73k stars 364 forks source link

Refactor heap parsing code #157

Open XVilka opened 4 years ago

XVilka commented 4 years ago

Currently some of the heap parsing depends on how rizin is compiled. While it will work for the local native debugging it will inevitably fail in cases of the remote debugging or coredump/minidump files opening. Thus, some of the heap parsing code should be made not conditionally compiled but able to detect the target endianess, bitness, libc version, other parameters in the runtime, and call the corresponding routines accordingly. It is especially the case for jemalloc heap parsing. See these files:

Note, a part of this task would be adding jemalloc-5.x heap parsing which has a different structure (currently Rizin can parse only jemalloc-4.x heap structure).

XVilka commented 3 years ago

I also suggest to create a subdirectory librz/core/heap/* where we should move all those files, so it will be easier to navigate.

ret2libc commented 3 years ago

What's the status of this? Also, the issue references many "problems" and features, so we should be clear what is missing and what not. @XVilka @PulakIIIT

kj5377707 commented 9 months ago

HI, I want to try this microtask for GSOC