Welcome to angr’s documentation!#
Welcome to angr’s documentation! This documentation is intended to be a guide for learning angr, as well as a reference for the API. If you’re new to angr,
The angr team maintains a number of libraries that are used as part of angr. These libraries are:
archinfo - Information about CPU architectures
pyvex - Python bindings to the VEX IR
pypcode - Python bindings to the Pcode IR
ailment - angr’s high-level intermediate language
cle - Many-platform binary loader
claripy - Solver abstraction layer
- Introduction
- Getting Started
- Core Concepts
- Build-in Analyses
- Advanced Topics
- Gotchas when using angr
- Understanding the Execution Pipeline
- What’s Up With Mixins, Anyway?
- Optimization considerations
- Working with File System, Sockets, and Pipes
- Intermediate Representation
- Working with Data and Conventions
- Solver Engine
- Symbolic memory addressing
- Java Support
- Symbion: Interleaving symbolic and concrete execution
- Debug variable resolution
- Variable visibility
- Extending angr
- angr examples
- Appendix
- API Reference
- Project
- Plugin Ecosystem
- Program State
- Storage
- Memory Mixins
- Concretization Strategies
- Simulation Manager
- Exploration Techniques
- Simulation Engines
- Simulation Logging
- Procedures
- Calling Conventions and Types
- Knowledge Base
- Serialization
- Analysis
- SimOS
- Function Signature Matching
- Utils
- Errors
- Distributed analysis