* cant set the flags register if the process is not running
* add some asserts to prevent people from duplicating help lines
* rewrite the contributing guide on adding a command
* assert string in correct field
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* cleanly handle parameter differences
* cleanly handle command differences
* cleanly handle function differences
* add note about supported debuggers for commands and parameters
* reduce h1 bottom margin
* make it more obvious we only support functions in gdb
* autogen docs
* fixup buddydump
* uppercase debugger name in supported debuggers message
* update docs
* restructure development docs
* clarify that qemu-tests are actually qemu-system-tests are actually kernel tests
* finish index.md; factor out dev notes and writing tests
* cleanup 'writing tests' and loose links/anchors
* update .github files
---------
Co-authored-by: Disconnect3d <dominik.b.czarnota@gmail.com>
* added/modified registers for kernel pwning
* added a RegisterContext class for more complex register context handling
* cleaned up register context selection and flag bits
* further cleaned up register context selection
* fixing None deref issue
* handling NoneType registers
* linting
* removed most of the extra register classes
* fully removed extra register classes in commands/context.py
* renamed var so that the linter doesn't confuse the var name with dataclass type name
* some comments on newly added classes
* fixed issues based on suggestions
* fixed issues when debug symbols are not present in x64 kernel
* added full buddy allocator debugging support and abstracted indent context
* added options for pcplist
* added dynamic arg checking and implemented __len__ for GDBValue
* added new ParsedBuddyArgs class and THBs support and improved overall handling
* handling function params using a class to cleanly pass values around such that can find free pages
* added help info
* added comments for newly added classes
* changed cmd name and added test
* added reference and linting
* added docs
* fixed typo
* fixed quotes
* supporting filter by numa node index
* actually filtering by node index
* add support for examples and notes
* port epilog usage to 'examples'
* enforce example/note location
* generate notes, examples and epilog in the docs
* disable search highlight
* autogen docs
* cleanup a bit
* expand and add examples to pwndbg convenience functions
* update usage descriptions in _gen_*
* refactor out some common logic
* implement function doc generation
* change some mkdocs defaults around to be better for the general case
* generate function docs
* cleanup some examples, help, and quote escaping explanation
* move fsbase and gsbase definitions (and use decorator)
* cleanup signature for fsbase and gsbase
* autogen functions
* type annotation
* fix ida and binja descriptions
* rename arguments, reorder docs for `help function` and assert convention
* add missing imports
* use inspect.getdoc instead of directly accessing __doc__
for more consistency across python versions
* regen docs with getdoc()
* rewire exit and lint
* let users know about convenience functions through the `pwndbg` command
* sys.exit instead of exit
* readme/docs changes in install methods
* tip
* tip
* tip
* cleanup installation instructions
* gdb/lldb is bundled
---------
Co-authored-by: k4lizen <124312252+k4lizen@users.noreply.github.com>
* make parameter scope an enum
* brighter code text, smaller top-margins for level 2 headings
* cleanup configuration logic, add assertions
* add script for generating configuration docs, move out some common logic
* move heap-config to pwndbg category since it should encompass other allocators as well
* docs update for heap-config move
* don't annotate code blocks with line numbers; add ability to use github flavoured markdown-type tasklist
* hand write configuration index, auto generate other docs
oops the auto-generated docs/commands/index.md change is in this commit
* fix bug of discarding help_docstring
* auto-gen docs for previous bugfix
* make parameter help's work with markdown
* autogen docs again
* add scripts to lint and lint them
* import missing stuff
* update docs-live script
* fixups
* update docs
* change branch-if-(not)taken command category to breakpoint
* more descriptive onegadget text
* add check for extraneous files in docs/commands, move the break command's files
* remove example since it renders wrong on the web doc
and the example itself is :(
* delete extra docs with gen
* make category a mandatory argument for commands
* cleanup doc generating script, add option to verify, allow handwritten edits
* regenerated docs
* lint
* add verification to ci
* add gdb to docs ci
* run verification from uv?
* run pwndbg xd
* fixup! regenerated docs
* fixup! regenerated docs
* what?
* test
* ensure consistent doc generation by fixing term width
* change marker text a bit
* index generation
* update comment on usage
* add comments in mkdocs, autogenerate nav
* reorganize the docs folder structure so they look good when the nav is autogenerated
* add really cool Source page
* fix edit, hide nav in setup, cleanup mkdocstrings config a bit
* fix doc CI build failure
* cleanup mkdocs.yml
* allow mkdocstrings to use linter
* remove empty files
* show parameters cleaner
according to the google style guide, we shouldn't specify types when they are in annotation, so using table which always shows types doesn't make sense
* Move docs dependencies into pyproject, install with poetry in GH action
* Remove old sphinx files
* Remove custom theme dir
* Hide navigation and toc on the blog page
* Remove fetch-depth from docs GH workflow
* Source venv before running mkdocs build
* Remove caching from docs GH workflow
* Remove python version in docs GH workflow
* ai plugin
* ai plugin ready to ship
* ai plugin ready to use
* textwrap on the ai's answer
* linted ai.py
* relaxed openai version requirement
* added pandas to requirements
* removed dependency on openai module, using requests instead
* removed dependency on openai module, using requests instead
* incorporating suggestions on PR
* added types requests and bumped requests version up to the version i'm using here
* lowering version req on requests for ubuntu 18 compat
* removed some 'if True' kludges that i was using to debug things at one point
* Move symbol.py to gdblib
* Renamed private methods
* Renamed pwndbg.symbol to pwndbg.gdblib.symbol
* Cleanup symbol.py
* Fix lint issues
* Handle tls error on symbol lookup
* Fix merge conflicts
* Remove old way of looking up symbols
* Don't exclude pwndbg/lib in .gitignore
* Move which.py to lib/which.py
* move funcparser.py and functions.py to lib/
* moved version.py to lib/
* Move tips.py to lib/
* Update pwndbg/lib/version.py
Co-authored-by: Disconnect3d <dominik.b.czarnota@gmail.com>
* remove py2 coding notations from files
* remove six package use and replace with proper py3 code
* remove py2 futures use
* replace unicode string literals with string literals
* remove python2 urlparse import in favor of python3 urllib.parse
* keep ida_script in py2 version
* remove hashbang python lines as the files are never ran directly
* Initial setup of mkdocs
* Add documentation for every command. Also put them in some structure
* Fix typo
* Fix newline
* Update index
* fix some leakfind errors
* Some more fixes
* Fix search
* More fix
* Use Pip version of Unicorn
* Remove capstone submodule
* Allow installation to the user site-packages for Darwin, since SIP prevents installation to the system site-packages
* Add helper functions and fix Python calls
* Remove duplicated code (rebase issues?)