* Fix vmmap indicator overwriting address prefix
Change the prefix handling in memory.get() to prepend the indicator
(e.g., ►) with a space instead of replacing the first characters of
the address. This prevents the indicator from overwriting the '0x'
prefix, making addresses easier to copy-paste.
Before: ►xffffffff81000000
After: ► 0xffffffff81000000
Fixes#3412
* Update Fix vmmap indicator overwriting address prefix
* Fix vmmap prefix alignment
* Align vmmap prefix column and clarify prefix behavior
---------
Co-authored-by: Chase Naples <Cnaples79@gmail.com>
* Enable cross-architecture instruction patching. Use Zig with the patch command, Capstone to disassemble in patch-list.
* remove old comments
* update comment
* rename variable
* Replace pc with . Mark the test as xfail given the qemu-version in CI doesn't support GDB writing to process memory
* Fix nearpc command disassembly instruction count
* Add -r parameter to nearpc to set number of previous instructions to show
* Add -t argument to nearpc
* docs
* Remove old comments
* Fix function parameter type for dev docs check
* Correct number of instructions to pull from cache
* Fix if condition edge case
* Rebase and fix typos
* Support system Zig in addition to the one bundled in a Python package
Add support for locating the Zig executable with the following precedence:
1. ziglang module - if installed, use bundled Zig.
2. zig in PATH - fallback to system installation.
On Arch Linux we don't package the ziglang Python package. This change makes it
possible for pwndbg to use the Zig executable from our zig0.14 package [0].
[0]: https://archlinux.org/packages/extra/x86_64/zig0.14/
Disclaimer: Authored with assistance from Claude Code.
* Fail if found Zig has unsupported version
Only version 0.14.1 works, 0.15+ doesn't
* Address PR comments
- Increase version check timeout from 1s to 15s (necessary on MacOS).
- Cache get_zig_executable() result.
- Only check version of system Zig. Python packaged one is locked.
* added kmemtrace class
* added ret trace handler
* added lldb ret trace handler
* making the output more colourful
* added the actual command
* storing output
* temp suspend ctx output
* tracing with mutex
* add option to only trace relevant allocations and frees
* cleaned up
* renaming
* docs
* format
* refactored + addressing comments
* ida integration fixups
* handle connection breaks cleanly
* bring binja up to speed
* make the ports not collide, and more random
* final fixups
* final final
* typo fix
* add highlighting to ida
* added options to specify the num of lines to disass and heuristics for map/prog_idr
* partial recovery for structs relevant to bpf
* added kbpf command
* added array offset recovery
* added verbose option
* added disass support
* refactored
* added flags
* docs
* typos
* Fix NO_COLOR environment variable support
Implement proper NO_COLOR support by adding a nocolor function and
configuration trigger that dynamically replaces the colorize function's
behavior when colors are disabled. This approach avoids performance
overhead by modifying function behavior at runtime rather than adding
conditional checks to each colorize call.
Fixes#3142
* fixes