
新发布Jul 21, 2026
angr v9.3.0
一个强大且用户友好的二进制分析平台!
angr
angr 是一个与平台无关的二进制分析框架。 它由 加州大学圣巴巴拉分校的计算机安全实验室、亚利桑那州立大学的 SEFCOM、它们的 CTF 团队 Shellphish、开源社区以及 @rhelmot 共同提供。
项目链接
项目仓库:https://github.com/angr/angr
API 文档:https://docs.angr.io/en/latest/api.html
什么是 angr?
angr 是一套 Python 3 库,让你可以加载二进制文件并对其进行许多酷炫操作:
- 反汇编与中间表示提升
- 程序仪器
- 符号执行
- 控制流分析
- 数据依赖分析
- 值集分析(VSA)
- 反编译
最常见的 angr 操作是加载一个二进制文件:p = angr.Project('/bin/bash')。如果在增强的 REPL(如 IPython)中执行此操作,可以使用 Tab 自动补全浏览顶层可访问方法及其文档字符串。
“如何安装 angr”的简略版本是:mkvirtualenv --python=$(which python3) angr && python -m pip install angr。
示例
angr 能完成许多二进制分析工作。 以下是一个简单的示例,展示如何使用符号执行获取 CTF 挑战中的 flag。
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()
快速开始
- 安装说明
- 文档:HTML 版 及 angr Github 仓库中的源码
- 直接开始: 顶层可访问方法
- 使用 angr 解决 CTF 挑战的示例
- API 参考
- awesome-angr 仓库