* implement ng-dump
* clarify index
* fix rebase
* add ability for a property to override color
* make color usage more consistent
* handle ansii in descriptions properly
* add ng-dump test
* finish rename
* add --meta-area flag to ng-dump
* remark on the coloring difference in the command description
* clarify nominal size on freed slots
* port test to lldb
* Update scripts/_docs/gen_docs_generic.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* fix function name change
* Update pwndbg/lib/pretty_print.py
* Update pwndbg/commands/mallocng.py
* lint
---------
Co-authored-by: Disconnect3d <dominik.b.czarnota@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* ng-vis add simple dumping and coloring
* highlight all the in-band metadata
* pull out coloring, add legend, add decoration
* better colors
* add config option for default count
* add an ng-vis test
* swap alloc colors
* make coloring consistent in ng-slotu
* move ng-explain to the bottom of the file
* Fix mallocng tests in LLDB
* port vis test to /dbg
---------
Co-authored-by: Matt <4922458+mbrla0@users.noreply.github.com>
* clarify offset extra message
* clarify free and avail slots in ng-explain
* clarify hdr reserved == 7
* fix up donated group message
* fixup is_mmaped() check
* make ng-ctx lookup more strict, better UX
* fix our ctx reference becoming stale
* simplify class Mallocng init code
* fix edge case in ng-find
* change shallow=True to always get the outermost group, instead of the first group hit
* add missing type annotations
* ng-metaarea to dump meta_area objects
* ng-ctx: command to dump the __malloc_context object
* autogen docs
* properly bail if we cant find the __malloc_context
* take the p var out of `from_start`
* detect the location of __malloc_context
* MallocContext class
* MetaArea class
* implement Mallocng.containing
* traverse nested groups
* add mallocng-find command
* fixup rebase
* add --shallow option to ng-find
* add --metadata option to ng-find
* add --all to ng-find
* autogen docs & lint
* fix from_start() calculation
* make code more portable by getting rid of magic numbers
* update 'belongs to stack' check
* Mallocng.secret becomes bytearray
but MallocContext.secret stays an int because we will be dumping it
* value -> values + move before loop
* fix secret offset
* get rid of hardcoded struct sizes
* use helper function for extracting ints
* add signed int typeinfo and memory util
* constructing the mallocng types
* cleanup a bit
* mallocng-user-slot
* print meta and group with slot
* ng-meta and ng-group commands
* handle corrupt data structures cleanly
* extra uslot annotations
* support multiple lines of extra
* group size corruption check, bit more annotation
* print both meta and group on ng-group and ng-meta
* fix pretty print to use colored_ljust
* fix for lldb; inferior must be loaded for aglib
* autogen docs
* fixup rebase
* ng-uslot -> ng-slotu
* fix idx calculation edge case
* hex() -> :#x
* str(e) -> e
* precalculate strings in PropertyPrinter::add
* lint
* fix perf issues
* add signed int typeinfo and memory util
* constructing the mallocng types
* cleanup a bit
* mallocng-user-slot
* print meta and group with slot
* ng-meta and ng-group commands
* handle corrupt data structures cleanly
* extra uslot annotations
* support multiple lines of extra
* group size corruption check, bit more annotation
* print both meta and group on ng-group and ng-meta
* fix pretty print to use colored_ljust
* fix for lldb; inferior must be loaded for aglib
* autogen docs
* fixup rebase
* ng-uslot -> ng-slotu
* fix idx calculation edge case
* hex() -> :#x
* str(e) -> e
* precalculate strings in PropertyPrinter::add
* lint