* allow ng-find to return free/avail slots
also pulled out Mallocng.find_slot which returns the Slot instead of just the address
* better slot_state calculation, print it with ng-slot*
* propagate group/meta info when going through find
* add GroupedSlot to propagate find_slot information
* show GroupedSlot data to user when local reading fails
* gate the search behind a config option
* sanely handle insane slots
* use alt values for some meta fields
* get rid of set_padding
* add extra line for visual clarity
* autogen docs
* fix extra alignment
* Add --show-all flag to cymbol to list all custom structure names
* Fix: Apply ruff formatting to cymbol.py
* Fix: Regenerate cymbol docs for --show-all flag
---------
Co-authored-by: parrot <parrot@localhost.localdomain>
* dedup stride in meta; put group creation reason in aglib
* rename check4 to big_offset_check
* rename rnd-off to cyclic offset so it is more in line with the source
* more true-to-source cyclic checking
* Slot.preload() clarified; _slot added
* add Slot.preload_meta_dependants() so we actually have some sensible guarantees
* rework reserved logic to show the two different values
* add alt_value option to PropertyPrinter properties
* show the *0x10 values in brackets
* move Slot functions around a bit so they flow more logically
* remove erroneous assert
* Only specify triple on target create when platform is given
* Update pwndbg/dbg/lldb/repl/__init__.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Disconnect3d <dominik.b.czarnota@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* 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
* Implements kdmesg for Linux kernels 5.10+.
* Minor optimizations and fixes to kdmesg.
* Fix lint errors
* Add test_command_kdmesg() to test_commands_kernel.py to test kdmesg.
* Fix lint errors
* Add docs
* Docs
* Improved documentation
* Lint fixes
* Improve documentation
* Fix lint errors
* Add functionality for -T, --ctime argument to print time in human readable format
* Fix lint errors
* Docs update
* Add test for -T arg in kdmesg
* Fix lint errors
* Fix -T arg to reflect current time, not offset
* Fix lint errors
* Bugfix for older versions of the kernel
* Fix lint errors
* Error checks
* Fix lint errors
* Test fix
* Fix lint errors
* Implement fzf completion in lldb like GEP
* Implement fzf completion in lldb like GEP
* Implement fzf completion in lldb like GEP
* Implement fzf completion in lldb like GEP
* Implement fzf completion in lldb like GEP
* Implement fzf completion in lldb like GEP
* Implement fzf completion in lldb like GEP
* Implement fzf completion in lldb like GEP
* Implement fzf completion in lldb like GEP
* Implement fzf completion in lldb like GEP
* Implement fzf completion in lldb like GEP
* Implement fzf completion in lldb like GEP
* Implement fzf completion in lldb like GEP
* Implement fzf completion in lldb like GEP
* Implement fzf completion in lldb like GEP
* Implement fzf completion in lldb like GEP
The order of the context section windows in the pre-configured pwndbg layouts didn't match the order in which they are drawn in the CLI context output as specified by the `context-sections` config. This caused glitches while rendering the section titles.
This is a workaround for the current TUI layout and the context-sections order. If the order is changed later, it might break again.
Fixes#3045
* page walks
* Improving kernel-vmmap
* added test for kernel vmmap
* improve userland heap handling
* improve kernelland sections handling
* fixed typo
* fixed test
* adding support for info mem
* changed array to tuple based on suggestions
* removing esp fixup stacks from display
* including call stacks
* implemented pagewalk
* added pagewalk test
* improved testing / output
* added docs
* renaming
* actually adding the remamed file
* adding decoration for cpu arch
* Revert "adding decoration for cpu arch"
This reverts commit 84aa120f68.
* added arch check for pagewalk
* adding req on symbols
* supporting mem info
* refactored pagewalk helpers
* added support for older versions of qemu-x86_64
* improved pagewalk helper function signature
* improved processing of vmmap
* refactored a bit more
* refactored a bit more
* removed changes to kernel/vmmap
* adding option to not process pages
* improving support to info mem
* changed to tuple
* changed to tuple
* changed to tuple
* added aarch64 mem mapping
* improved testing
* fixing for arm64
* a bit more amending
* fixing test
* fixed edge cases