--- id: angr version: "9.3.2" license: BSD-2-Clause license_treatment: permissive maintenance: active --- # angr — A multi-architecture binary analysis toolkit, with the ability to perform dynamic symbolic execution and various static analyses on binaries License: permissive · Maintenance: active · Downloads: 1.1M/mo ## What it is and what it does angr is a Python framework for analyzing compiled binaries without source code. It combines multiple analysis techniques—symbolic execution (exploring program paths with symbolic values), static analysis (control flow and data dependency tracking), and intermediate-representation lifting (translating machine code to a platform-independent form)—to understand binary behavior. The framework is commonly used in security research, CTF competitions, and vulnerability discovery. The package wraps complex binary analysis operations into a Python API, letting you load a binary, hook functions, explore execution paths, and extract information like flag values or program properties. It depends on specialized libraries for disassembly (capstone), constraint solving (claripy), and intermediate representation (pyvex), plus data structures and utilities (networkx, sympy, lmdb). Installation requires Python 3.12+ and brings in 25 runtime dependencies; pre-built wheels reduce compilation friction on common platforms. Use it for: - Solve CTF (Capture The Flag) challenges by symbolically executing a binary to find flag values or bypass checks - Discover vulnerabilities by analyzing control flow and data dependencies in compiled code without source - Instrument and hook binary functions to intercept or modify behavior during dynamic analysis - Lift and analyze firmware or embedded binaries across architectures (ARM, x86, MIPS, etc.) - Perform value-set analysis to understand which values a variable can hold at any program point ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. angr is a binary analysis framework that performs symbolic execution, disassembly, control-flow analysis, and decompilation on binaries across multiple architectures. Yes, if you do binary security research, CTF challenges, or reverse engineering. The framework is actively maintained, well-documented, and widely used in the security community. Install friction is moderate due to compiled dependencies, but pre-built wheels mitigate this on common platforms. No known vulnerabilities. Requires Python 3.12+, so check your environment first. ## Install pip install angr uv add angr poetry add angr ## Installing angr Before you install: Medium install friction with 25 runtime dependencies including compiled components (cffi, capstone, pyvex). Active maintenance—last commit 2026-08-14, released 9 days ago. Requires Python 3.12+. Pre-built wheels available for major platforms (macOS arm64, Linux x86_64/aarch64, Windows). License in practice: BSD-2-Clause (permissive) allows commercial and private use with minimal restrictions; attribution and license notice required in distributions. Quickstart: pip install angr import angr project = angr.Project('/path/to/binary', auto_load_libs=False) state = project.factory.entry_state() simgr = project.factory.simgr(state) Requires Python 3.12 or later; binary analysis operations are computationally intensive and may require significant memory and CPU time. Verify before relying: - Performance characteristics and memory footprint for large binaries or long symbolic execution runs - Supported binary formats beyond common ELF/PE (e.g., Mach-O, raw firmware) - Extent of decompilation capabilities and accuracy compared to dedicated decompilers ## Package facts - License: BSD-2-Clause (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 1.1M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags binary analysis framework, symbolic execution, binary disassembly, reverse engineering, program instrumentation, control flow analysis, ctf challenge solving, binary-analysis, symbolic-execution, reverse-engineering [View on SkillFed](https://skillfed.io/packages/angr) · [View on PyPI](https://pypi.org/project/angr/)