Commit Graph

20 Commits

Author SHA1 Message Date
peace-maker 3506114d5c
Improve TUI handling and documentation (#2446)
* Fix ansi color truncation in TUI windows

All remaining ansi escape codes after the substring of real characters weren't printed.
This caused some colors to linger over to the next line.

* Add two default TUI layouts

One including the sourcecode section and one without.
The allows to try the TUI quickly by selecting one of the layouts: `layout pwndbg` or `layout pwndbg_code`.

* Don't use \t tabs in context threads section

Horizontal scroll in TUI mode would jump around causing visual glitches. Use spaces instead.

* Add warning when section is in TUI layout but not in 'context-sections'

The section won't be updated automatically on stop.

* Update FEATURES docs including screenshot

* Don't create TUI windows when GDB is compiled without it

Don't stop pwndbg from loading on gdb without tui integration.

* Fix redraw of all windows after toggling TUI mode

When switching back to TUI mode, the contextoutput would be sent before a TUI window's `render` function was called. This caused some sections to be printed normally in the cmd window instead of being sent to their TUI window.

Keep a list of all open context TUI windows and redirect contextoutput for all of them once the first window is rerendered instead of waiting for them to be rendered too.

Also fix the _static_enabled class variable usage.
2024-09-23 01:57:44 +02:00
peace-maker 5553a93a3e
Add history of context output (#2439)
* Add history of context output

Every context section is cached individually to allow to display older output again. You can scroll through the old context output using `contextprev` and `contextnext`.

This allows to "scroll" in TUI mode.

* Add button TUI window to control context history

* Simplify history status output generation
2024-09-19 15:08:05 +02:00
peace-maker 2000b4ac4e
Add context sections TUI windows (#2434)
* Remove SIGWINCH signal handler

gdb updates `height` and `width` automatically since 2015,
so this code seems to be obsolete.

Installing our own signal handler replaced gdb's one and prevented it from reacting to SIGWINCH signals.

* Add context sections TUI windows

This adds `pwndbg_[section]` tui windows to be used in a layout.
You can arrange `pwndbg_regs` or `pwndbg_disasm` as you wish.

The horizontal scrolling and truncation has to consider ANSI escape codes and makes sure to include all of them while scrolling through to properly keep the colors.

Since there is no event fired when TUI mode is enabled/disabled, we have to check `.is_valid()` whenever context data is available or the TUI is rendered to redirect context output appropriately again.
2024-09-17 14:01:27 +02:00
Jason An bd53325134
Update docs for binja integration and go debugging (#2370)
* Update docs for binja integration and go debugging

* add section to FEATURES.md
2024-08-17 01:09:24 +02:00
Aaron Adams c85d16b246
fix trailing whitespace everywhere (#2188) 2024-05-29 19:40:19 -07:00
Maria 30053d1a24 Add Documentation for Rizin
Updates documentation and adds help commands with the relevant rizin information.
2023-02-15 16:14:51 +00:00
Lars 3fa4ddab73
fix: typo in FEATURES.md (#1352) 2022-10-27 08:39:36 -07:00
Samanta Navarro 38c38aacfa Fix typos
Typos found with codespell.
2021-12-05 13:37:10 +01:00
Paweł Płatek e3b910c5d5
Try heap (#744)
* start try_free_parser

* try_free_parser done, tests written

* add try_free to FEATURES.md

* rename current_heap to allocator
2020-04-27 14:02:09 +02:00
abrikos110 0cdcd6f518
Fixed misprint 'distibuted' --> 'distributed' (#733) 2020-03-25 22:45:14 +01:00
Andrej Zieger 5849d27446
[WIP] Feature: show ghidra decompiled code in context (#715)
* Feature: show ghidra decompiled code in context

With the help of radare2, r2pipe and r2ghidra-dec

* Update FEATURES.md

* Include review comments

* Removed embarrassing auto added guards

Co-authored-by: Disconnect3d <dominik.b.czarnota@gmail.com>
2020-03-18 17:49:56 +01:00
Andrej Zieger a18e751520
[WIP] Context watches expressions (#711)
* Feature: context watches

* Added expressions to splitting screenshot

* More readable code (review)
2020-03-17 12:42:07 +01:00
Andrej Zieger f2c0efc10d
Per section context output (#697)
* Configure context output per section

* banner respects width of target output

* Fixed context output help

* ui.banner optionaly force a width

* Allow python functions as context output

* Use is for StdOutput type comparison

Co-Authored-By: Disconnect3d <dominik.b.czarnota@gmail.com>

* Use list-function as initial value of default dict

Co-Authored-By: Disconnect3d <dominik.b.czarnota@gmail.com>

* Append final context linebreak only on stdout

* Documented context splitting feature

* Option to hide context section banners

* Option to set width per context section (currently only banner)

* Splitting screenshot

* Fixed empty lines when not clearing

* Fixed auto banner width (using stdin as before instead of stdout)

Co-authored-by: Disconnect3d <dominik.b.czarnota@gmail.com>
2020-03-06 08:19:58 +01:00
Stuart Nevans Locke 2b507038b8 Update Leakfind (#620)
* Fix stride vs step also fix warning

* Fix behaviour on 0x8000000000000000 with negative offsets

* Fix spacing

* Update FEATURES.md

* Rename file
2019-04-28 09:14:10 +02:00
Andrej Zieger 35890f0430 Add option to redirect context output to other tty or files (#610)
* Add option to redirect context output to other tty or files

The output of context/dashboard can be now be redirected with
 "set context-output /dev/pts/x" to everything wich python can open and
 offers a file like "write".

* Sorted imports correctly (fixing pwndbg CI)
2019-04-16 00:41:30 +02:00
nilch 9ba992d69d Added fake_fast_chunks command (#204)
* New command for finding fake fast chunks for House of Spirit and
Fastbit Dup

* fixed isort
2017-04-04 11:57:32 -05:00
blendin d6a03b3c98 Added heap operations (#140)
* Added support for using different malloc algorithms and implemented
ptmalloc commands

    - Added support for the mp_ structure from glibc
    - Fixed the bug when the base of [heap] is not sbrk_base (occurs
      when bss is very large).
    - Added an interface for interacting with ptmalloc heaps

* Added fastbins, unsortedbins, smallbins, largebins

    - Implemented the bin functions both in the ptmalloc interface in
      the heap/ directory and the commands function
    - Completed the bins command which prints all the commands
    - Added option to bin commands `verbose` specifies the users desire
      to print empty bins - linked lists with out any nodes from malloc
    - Changed bin representation to OrderedDict

* remove old bins command

* Ptmalloc bug fixes

    - switched constants.ptmalloc from using pwndbg.typeinfo to a gdb
      api function to prevent bugs when libc-dbg isn't installed
    - Other minor changes

* Added some functionality for when libc-dbg is not present

    - Added checks for finding symbols

* Ran isort on pwndbg

* Made few changes based on feedback from pull requests
    - Cleaned up spaces_table
    - Syntax changes

* Moved formatting code away from logic

    - Moved format_bin from pwndbg.heap.ptmalloc to pwndbg.commands.heap

* Fixed bug in spaces_table for 32 bit archs

* Changed malloc_chunk command to display FASTBIN instead of PREV_INUSE

    - Fixed local isort version problems

* Small bug fixes, tweaks, and added features list.

    - Changed pwndbg.chain.format to use the offset for the very last
      index in the chain.
    - Fixed bug with ptmalloc's main_arena property.
    - Added images to cap and links to FEATURES.md.
    - Changed bin commands to print hex instead of base 10.

* Modified docstring to match other docstrings in pwndbg

* Memoize properties, fix merge conflicst, fix constants

    - Moved the macros from the constants directory into the Heap
      class, left the constants there.
    - Switched from lazy loading to the memoize events.

* Fixed double spaces after images from a previous pull request.

* Added more examples to FEATURES.md for heaps

* Fix typos in FEATURES.md
2016-12-28 14:54:41 -05:00
Disconnect3d f728a2870a Configurable IDA Pro RPC endpoints (#139)
* Added PyCharm project dir (.idea) to .gitignore

* Reformat & optimize imports in ida xmlrpc sources

* Refactored ida_script.py

* Moved host to variable in ida_script.py

* Added info that server has been hosted in ida_script.py

* Added info to config/theme commands output

* Reformat & optimize imports in pwndbg/config.py

* Fix for configfile/themefile generation #137

Also generating the configs only for the changed parameters.

* Better info for config and theme commands

* Added Ida Pro rpc connection host, port parameters #132

* Fixed wrong Ida Pro idb save path on Windows #132

The problem happens on a NTFS filesystem as it supports ADS (Alternative
Data Streams) so that filepath with ':' is treated as ntfs ads.

* Added info on Ida Pro rpc successful connection #132

* Sorted imports with isort

* Added Ida Pro rpc auto connect when host/port has changed #132

* Better Ida Pro integration description in FEATURES.md #132

* Added info about config/theme into FEATURES.md

* Add PEP8 configuration file for pep8 command-line and PyCharm

* Review #139 fixes: ugly filter_cond cleanup

* Minor name refactor in pwndbg/config.py

* Review #139: added native_default to pwndbg.config.Parameter

* config: fix type checking of native translation by testing instance

* config: add optional 'all' parameter to {config,theme}file

this makes it easier to get a template of all configurable options.

* Removed trailing spaces in FEATURES.md
2016-12-14 16:48:55 -06:00
Adam Van Prooyen c5fbe3fc52 Fixed typos in README.md and FEATURES.md 2016-10-01 16:46:59 -07:00
Zach Riggle 433d2db9bd Add screenshots
Remove unused screencaps

Add FEATURES.md
2016-06-29 22:43:32 +02:00