Skip to content

init

current: pwndbg.aglib.heap.heap.MemoryAllocator | None = None module-attribute

global_max_fast = add_heap_param('global-max-fast', '0', 'the address of global_max_fast') module-attribute

heap_chain_limit = add_heap_param('heap-dereference-limit', 8, 'number of chunks to dereference in each bin', param_class=pwndbg.lib.config.PARAM_UINTEGER) module-attribute

heap_corruption_check_limit = add_heap_param('heap-corruption-check-limit', 64, 'amount of chunks to traverse (forwards and backwards) for the bin corruption check', param_class=pwndbg.lib.config.PARAM_UINTEGER) module-attribute

main_arena = add_heap_param('main-arena', '0', 'the address of main_arena') module-attribute

mp_ = add_heap_param('mp', '0', 'the address of mp_') module-attribute

resolve_heap_via_heuristic = add_heap_param('resolve-heap-via-heuristic', 'auto', 'the strategy to resolve heap via heuristic', help_docstring="resolve-heap-via-heuristic can be:\nauto - pwndbg will try to use heuristics if debug symbols are missing\nforce - pwndbg will always try to use heuristics, even if debug symbols are available\nnever - pwndbg will never use heuristics to resolve the heap\n\nIf the output of the heap related command produces errors with heuristics, you can try manually setting the libc symbol addresses.\nFor this, see the `heap_config` command output and set the `main_arena`, `mp_`, `global_max_fast`, `tcache` and `thread_arena` addresses.\n\nNote: pwndbg will generate more reliable results with proper debug symbols.\nTherefore, when debug symbols are missing, you should try to install them first if you haven't already.\n\nThey can probably be installed via the package manager of your choice.\nSee also: https://sourceware.org/gdb/onlinedocs/gdb/Separate-Debug-Files.html\n\nE.g. on Ubuntu/Debian you might need to do the following steps (for 64-bit and 32-bit binaries):\nsudo apt-get install libc6-dbg\nsudo dpkg --add-architecture i386\nsudo apt-get install libc-dbg:i386\n\nIf you used setup.sh on Arch based distro you'll need to do a power cycle or set environment variable manually like this: export DEBUGINFOD_URLS=https://debuginfod.archlinux.org\n", param_class=pwndbg.lib.config.PARAM_ENUM, enum_sequence=['auto', 'force', 'never']) module-attribute

symbol_list = [main_arena, thread_arena, mp_, tcache, global_max_fast] module-attribute

tcache = add_heap_param('tcache', '0', 'the address pointed by tcache') module-attribute

thread_arena = add_heap_param('thread-arena', '0', 'the address pointed by thread_arena') module-attribute

add_heap_param(name, default, set_show_doc, *, help_docstring='', param_class=None, enum_sequence=None)

reset()

resolve_heap(is_first_run=False)

update()