github.com/angr/angr

A powerful and user-friendly binary analysis platform!

Open this visualization on its own page →

Contributors

201

Lines of Code

26,167

From

2013-08-16

To

2021-02-13

About angr/angr

angr is a Python-based binary analysis framework developed by security researchers at UC Santa Barbara and Arizona State University. It provides a comprehensive suite of tools for analyzing compiled binaries across different platforms, enabling operations like disassembly, intermediate-representation lifting, symbolic execution, control-flow analysis, data-dependency analysis, value-set analysis, and decompilation. The framework is designed to be accessible through a simple API where users can load a binary and programmatically analyze it using Python 3.

The project is particularly popular in the cybersecurity and capture-the-flag (CTF) communities, where it's used to reverse engineer and understand binary programs. angr's symbolic execution capabilities allow users to explore program paths and solve complex analysis problems automatically, such as finding valid inputs that satisfy certain constraints. The framework comes with comprehensive documentation, API references, and example solutions to CTF challenges, making it practical for both learning and professional security research.

angr has grown into a mature open-source project with contributions from academic institutions, security professionals, and the broader community, supported by the Shellphish CTF team. Its modular architecture and well-documented top-level methods make it suitable for users ranging from security researchers to students learning binary analysis techniques.

Share this video