ENNAENNA

angr

BSD-2-Clause

馃К Reverse EngineeringPython

angr is a platform-agnostic binary analysis framework developed at UC Santa Barbara's Seclab. It combines both static and dynamic symbolic (concolic) analysis, providing a powerful Python API for analyzing compiled binaries without source code. angr can automatically explore execution paths through a binary, solve for inputs that reach specific code locations, recover control flow graphs, perform taint analysis, and identify vulnerabilities like buffer overflows and format string bugs. Its architecture is modular - SimOS provides OS abstraction, SimEngine handles execution, and the exploration strategies (DFS, BFS, coverage-optimized) guide analysis through the program state space. angr is widely used in academic research and CTF competitions, and forms the backbone of several automated vulnerability discovery tools.

8.6kstars
1.2kforks
607issues
Updated 24d ago
+I use this

Installation

pip

$ pip install angr

Docker

$ docker pull angr/angr

Use Cases

  • Automated vulnerability discovery through symbolic execution of binaries
  • Solving CTF reverse engineering challenges by constraining execution paths
  • Recovering control flow graphs from stripped or obfuscated binaries
  • Finding inputs that trigger specific code paths or crash conditions
  • Building custom binary analysis tools on top of the angr Python API

Tags

symbolic-executionbinary-analysiscfrvulnerability-discoveryconcolicctfanalysisangrbinaryhacktoberfest

Community Reviews

Alternatives & Comparisons

More in Reverse Engineering