This guide will help you install angr and run your first binary analysis in minutes.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/angr/angr/llms.txt
Use this file to discover all available pages before exploring further.
Installation
The quickest way to install angr is using pip with a virtual environment:Install angr
Install angr using pip:This will install angr and all its required dependencies. The installation may take a few minutes.
Your first angr script
Let’s start by loading a binary and exploring its basic properties.Load a binary
Create a new Python file calledanalyze.py:
The
auto_load_libs=False parameter tells angr not to load shared libraries, which speeds up loading for simple analysis.Symbolic execution example
Here’s a simple example of using symbolic execution to automatically solve a CTF challenge:- Loads a binary challenge file
- Hooks a specific address (0x400844) where the flag is printed
- Automatically explores execution paths to reach that address
- Prints the flag value when found
Understanding the Project object
Theangr.Project class is the main entry point for binary analysis. It provides:
- arch - Architecture information (x86, ARM, etc.)
- entry - Program entry point address
- loader - Binary loader with information about loaded objects
- factory - Factory for creating analysis states and simulation managers
- analyses - Access to all available analyses (CFG, VFG, etc.)
Interactive exploration
For interactive exploration, launch IPython or Python:Basic analysis workflow
A typical angr analysis follows this pattern:Next steps
Now that you have angr running, here’s what to explore next:Installation Guide
Learn about advanced installation options and optional dependencies
Official Documentation
Explore comprehensive guides on symbolic execution, CFG analysis, and more
API Reference
Browse the complete API documentation
CTF Examples
See angr solve real CTF challenges