angr getting started — authorized symbolic execution only

Last updated: · By the BinBench editorial team · Stars and releases checked via the GitHub API
Quick answer

angr (angr/angr) is a Python binary-analysis framework best known for symbolic execution and scriptable exploration. It is free/open source (BSD-2-Clause on the GitHub license metadata). This page is an orientation, not a CTF writeup dump and not an exploit cookbook.

Scope we will not cover

Per BinBench policy and the REA-sites topic plan §4:

  • No step-by-step exploit PoCs against live products.
  • No cracking, keygen or DRM-bypass framing.
  • No malware-writing guidance.

Allowed framing: CTF/lab binaries you may analyze, software you own, authorized research, interoperability and education.

Snapshot

FieldValue
LicenseBSD-2-Clause (GitHub metadata)
LanguagePython package
Stars (API 2026-10-17 UTC)about 9.2k
Version notesgit tag v10.0.4 (2026-10-14); PyPI 10.0.5 seen 2026-10-24 — re-check before pinning
Docshttps://docs.angr.io/

Beginner path (authorized targets)

  1. Create an isolated lab VM/container.
  2. Install from the official docs / PyPI instructions (versions move — do not trust random mirrors).
  3. Start with a tiny binary you compiled or a public CTF challenge with clear rules.
  4. Read loader / CFG / exploration APIs from docs.angr.io rather than copying opaque scripts from forums.
  5. When you need interactive decompilation, open the same authorized binary in Ghidra or Cutter.

When angr is a good fit

Which to pick
  • Scripted exploration of paths in small-to-medium authorized binaries.
  • Research and teaching where a Python API matters more than a GUI project DB.
  • Not a substitute for a general GUI decompiler on day one.

Symbolic execution is still reverse engineering. Stay inside authorization. BinBench does not host samples or angr “crackmes” bundles of uncertain provenance.

For legal, authorized and educational use only.

FAQ

What is angr?

angr is an open-source binary analysis platform with a strong symbolic-execution heritage, published under a BSD-2-Clause style license on GitHub (angr/angr).

Which version should I quote?

BinBench's 2026-10-17 UTC check saw git tag v10.0.4 (2026-10-14) without a classic GitHub Release object; PyPI reported 10.0.5 when re-checked 2026-10-24. Always verify docs.angr.io / PyPI before pinning.

Does this page teach exploits?

No. BinBench will not publish exploit PoCs against live products. Use CTF binaries, your own builds or explicitly authorized targets.

Is Linux required?

Upstream historically recommends Linux for the full stack; follow current docs.angr.io for platform support.

How does angr relate to Ghidra?

Different jobs. Ghidra is an interactive decompiler suite; angr is a programmable analysis framework. Many labs use both.

Sources