angr
angr is a platform-agnostic binary analysis framework. It provides a suite of Python 3 libraries for loading binaries and performing various analyses:
- Disassembly and intermediate-representation lifting
- Program instrumentation
- Symbolic execution
- Control-flow analysis
- Data-dependency analysis
- Value-set analysis (VSA)
- Decompilation
The most common angr operation is loading a binary: p = angr.Project('/bin/bash')
To install angr: mkvirtualenv --python=$(which python3) angr && python -m pip install angr
.
angr is a powerful tool for reverse engineers and security researchers, enabling them to analyze, understand, and exploit binary programs.