angr

功能强大、用户友好的二进制分析平台!「A powerful and user-friendly binary analysis platform!」

Github星跟蹤圖

angr

Latest Release
Python Version
PyPI Statistics
License

angr is a platform-agnostic binary analysis framework.
It is brought to you by the Computer Security Lab at UC Santa Barbara, SEFCOM at Arizona State University, their associated CTF team, Shellphish, the open source community, and @rhelmot.

Homepage: https://angr.io

Project repository: https://github.com/angr/angr

Documentation: https://docs.angr.io

API Documentation: https://api.angr.io/en/latest/

What is angr?

angr is a suite of Python 3 libraries that let you load a binary and do a lot of cool things to it:

  • Disassembly and intermediate-representation lifting
  • Program instrumentation
  • Symbolic execution
  • Control-flow analysis
  • Data-dependency analysis
  • Value-set analysis (VSA)
  • Decompilation

The most common angr operation is loading a binary: p = angr.Project('/bin/bash') If you do this in an enhanced REPL like IPython, you can use tab-autocomplete to browse the top-level-accessible methods and their docstrings.

The short version of "how to install angr" is mkvirtualenv --python=$(which python3) angr && python -m pip install angr.

Example

angr does a lot of binary analysis stuff.
To get you started, here's a simple example of using symbolic execution to get a flag in a CTF challenge.

import angr

project = angr.Project("angr-doc/examples/defcamp_r100/r100", auto_load_libs=False)

@project.hook(0x400844)
def print_flag(state):
    print("FLAG SHOULD BE:", state.posix.dumps(0))
    project.terminate_execution()

project.execute()

Quick Start

主要指標

概覽
名稱與所有者angr/angr
主編程語言Python
編程語言Python (語言數: 6)
平台
許可證BSD 2-Clause "Simplified" License
所有者活动
創建於2015-08-06 21:46:55
推送於2025-06-17 20:27:15
最后一次提交2025-06-17 17:51:59
發布數229
最新版本名稱v9.2.161 (發布於 2025-06-17 17:08:01)
第一版名稱v9.0.4369 (發布於 2020-09-17 19:42:28)
用户参与
星數8k
關注者數183
派生數1.1k
提交數13.5k
已啟用問題?
問題數2019
打開的問題數458
拉請求數3147
打開的拉請求數88
關閉的拉請求數264
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?