Also,
- Refactored variable_kb into kb.dec_variables.
- Spill decompilation cache into RuntimeDb.
- Save decompilation cache into angrDb. Decompilation results can be preserved across runs.
- No longer check in _pb2.py files; they are generated during build.
* Enable ruff isort rule
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Remove linux platform tag override in setup.py
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Add experimental Rust SegmnentList implementation
* Add rust to RTD environment
* Fix cargo check
* Add update method to avoid ._list
* Change rust version to latest
* Fix some inconsistencies with original implementation
* Fix iterator
* Fix lint issues
* Disable setuptools_rust check in setup.py
* Fix import
* Use asdf to install rust
* Specify latest version
* Also set the rust version globally
* Revert "Disable setuptools_rust check in setup.py"
This reverts commit 0fd2a4b61c.
* Add a note about rust in the docs
* Add hook to build native components when using editable_wheel setuptools command
* Override editable_wheel only if it exists
* Catch ModuleNotFoundError instead of ImportError
* Structurer: Stronger condition simplifiers for better readability after structuring.
* Eliminate TagsAnnotation. Use the right tool (sympy) to simplify boolean expressions.
* Support all comparisons.
* Lint the code.
* oops
* Add format callback in DisassemblyAnalysis
* Add function pretty-printing
* Check for TTY before emitting ANSI color sequences
If on Windows, use `colorama` package to translate ANSI escape sequences
to appropriate terminal API calls.
* Push pretty-printing logic into DisassemblyAnalysis
* Support disassembly of ranges
* Pretty-print block disassembly
* Add option to display instruction bytes
* Add more compatible arrow glyph
* Turn off bytes by default, reduce bytes per line to 5
* Detect stdout encoding for ASCII fallback
* Fix comment wrapping
* Passthru ascii_only option
* Use extended ANSI control sequences for bright colors
Apparently macOS terminal doesn't render 1 types as bright
* Cleanup minor issues in edge formatting loop
* Preliminary FLIRT support.
* Add the missing newline.
* Get rid of the optional import of nampa.
* Re-enable _IO_file_open.
* Add build_sig.py
* Add code for batch-loading FLIRT signatures.
* Update build_sig.py
* Support loading multiple FLIRT signatures into angr.
* CompleteCallingConventions: Allow skipping signature-matched functions.
* Unify the use of MemoryDataSort. Fix Function serialization.
* oops
* Lint the code.
* Lint the code again.
This patch adds a new engine to angr that uses Ghidra's P-Code
intermediate representation. Lifting is handled by the SLEIGH library,
with bindings to Python via pypcode. Symbolic execution is supported for
a majority of ops.
On some platforms (like FreeBSD) make is not GNU make, which is the make
used by the angr project. This patch makes it easier to find the desired
make binary.
We were not specifying version constraints for unicorn in
setup_requires, which makes bdist_wheel and build download the latest
stable version of unicorn (which is 1.0.1 at this moment), leading to
broken angr_native.dll being built on Windows. This fix addresses this
problem.
* Add PEP 561 py.typed file
* Various annotations, some useful, some to reduce the deluge of errors
* Type annotate various state related code and some default state_plugins
* Annotate memory, callstack, mem
* More state annotations
* more scattered annotations
* Minor annotations
* Minor annotations
* Fix lint issues in solver.py
* Fix more linting issues
* Fix import issues
* Move type aliases from pyvex to archinfo. Trigger CI again.
* Remove duplicated import.
Co-authored-by: Florian Magin <fmagin@users.noreply.github.com>
Co-authored-by: Fish <fishw@asu.edu>
* A preliminary implementation of angrdb.
* Get a preliminary implementation working.
- Switch from sqlite3 to sqlalchemy.
- Implement serializers for Loader, CFG, and FunctionManager.
- Fix a few issues in parsing and serializing knowledge plugins.
* Fix CFBlanket initialization.
* Support XRefs and some fixes.
* Make sqlalchemy an optional dependency.
* Make angrdb optional.
* Add a test case for AngrDB.
* Support dumping and loading comments.
* Support dumping/loading labels.
* Add an information table. Resiliency. More test cases.
* Lint the code.