* Added a file to mark dev installation and also modified gdbinit.py to calculate and verify the hash of poetry.lock
---------
Co-authored-by: B1N4RY-P4R45173 <kopakaajay123@gmail.com>
Co-authored-by: Disconnect3d <dominik.b.czarnota@gmail.com>
* Switch to Poetry for dependency management in setup
* Added curl dependency and removed python-pip and python3-pip
---------
Co-authored-by: B1N4RY-P4R45173 <kopakaajay123@gmail.com>
* better display for canary command
https://github.com/pwndbg/pwndbg/issues/1704
* improve variable names and constants
* better grammar when we only find a single canary
* by default display only a single canary per thread
* Add resolve_renamed_struct_field()
* Add ChunkField enum
* Raise ValueError when field name not found
* Add fetch_chunk_metadata()
* Use None for include_only_fields argument
* Use None as default value for include/exclude filters in fetch_struct_as_dictionary
* Resolve C408
* Remove unused typing.Set import
* Correct use of Set in type hints
Thanks to @gsingh93 for figuring out what I'd done wrong here: capitalized "Set" must be used for compatibility with Python 3.8
* Correct use of Set in type hints
* Import Set from Typing in ptmalloc.py
* Add gdb_version to mock gdblib
* Re-enable unit tests
* Only collect unit test coverage if --cov is passed
* Source venv before running tests in github action
* Add venv path PATH in to Dockerfile
* Only check for "/ls" in `which` test
* Fix i386-32 syscall name printing
pwndbg-git from AUR shows hexadecimal constants in masm syntax
(e.g. 80h) for some reason (as if the option CS_OPT_SYNTAX_MASM was set).
This commit makes syscall name printing work regardless of hex syntax.
* riscv: Fix AssertionError on "jalr ra, ra, 0x252"
When the PC was on this instruction, the pwndbg context would not be
printed due to this AssertionError.
* riscv: Fix AssertionError on "c.jalr a5"
According to the specification, "C.JALR expands to jalr x1, 0(rs1)".
* Modify python test scripts to work from nix
* Update utils.py
* address review feedback
---------
Co-authored-by: Disconnect3d <dominik.b.czarnota@gmail.com>
* Additional type hints
Activate `vermin --eval-annotations` to catch invalid type hints for Python 3.8.
Use `typing_extensions.ParamSpec` to avoid hiding function arguments through decorators.
* Fix safe linking detection
* Fix cast of glibc_version parameter in < Python 3.10
* Use "queue.Queue[int]" for Python 3.8 compatibility
* Address review
* Add comments and address review