angr
A powerful and user-friendly binary analysis platform.
angr is an open-source binary analysis platform for Python. It combines both static and dynamic symbolic ("concolic") analysis, providing tools to solve a variety of tasks.
Open Source:
Released as Free and Open Source Software under the permissive BSD license. Contributions are welcome.
Cross-Platform:
Runs on Windows, macOS, and Linux. Built for Python 3.8+.
Symbolic Execution:
Provides a powerful symbolic execution engine, constraint solving, and instrumentation.
Control-Flow Graph Recovery:
Provides advanced analysis techniques for control-flow graph recovery.
Disassembly & Lifting:
Provides convenient methods to disassemble code and lift to an intermediate language.
Decompilation:
Decompile machine code to angr Intermediate Language (AIL) and C pseudocode.
Architecture Support:
Supports analysis of several CPU architectures, loading from several executable formats.
Extensibility:
Provides powerful extensibility for analyses, architectures, platforms, exploration techniques, hooks, and more.