A platform-agnostic binary analysis framework for disassembly, symbolic execution, and program analysis.
angr is a platform-agnostic binary analysis framework built as a suite of Python 3 libraries. It allows users to load binaries and perform advanced analyses like disassembly, symbolic execution, control-flow analysis, and decompilation. The framework is designed to automate complex binary analysis tasks, making it easier to understand, instrument, and explore binary programs.
Security researchers, reverse engineers, CTF players, and developers working on program analysis or vulnerability discovery who need to analyze binary executables.
angr provides a unified, user-friendly platform that combines multiple binary analysis techniques into a single Python framework, offering powerful capabilities like symbolic execution and decompilation without requiring deep low-level expertise.
A powerful and user-friendly binary analysis platform!
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Combines disassembly, symbolic execution, and decompilation into a single Python library, streamlining complex binary analysis tasks as highlighted in the README.
Enables automated path exploration and constraint solving, which is essential for vulnerability discovery and CTF challenges, with examples provided in the documentation.
Supports analysis of binaries from various architectures without platform-specific tools, aligning with its philosophy of being user-friendly and versatile.
Offers extensive docs, API references, and CTF examples, making it easier for users to get started and apply techniques effectively.
Requires setting up virtual environments and specific Python versions, which can be cumbersome for newcomers or those on non-standard systems.
Symbolic execution and other analyses are resource-intensive, leading to slow performance on large binaries or systems with limited hardware.
Despite user-friendly claims, it demands deep understanding of binary analysis concepts and Python scripting, which can be a barrier for casual users.