项目地址
angr
angr 是一个与平台无关的二进制分析框架。 它由 加州大学圣巴巴拉分校的计算机安全实验室、 亚利桑那 州立大学的 SEFCOM 、他们相关的 CTF 团队、 Shellphish 、开源社区和 @rhelmot 为您提供 。
介绍
angr是一套Python 3库,可以让你加载一个二进制文件并对其做很多很酷的事情。
- 反汇编和中间表征提升
- 程序工具化
- 符号执行
- 控制流分析
- 数据依赖性分析
- 值集分析(VSA)
- 反编译
最常见的 angr 操作是加载二进制文件: p = angr.Project('/bin/bash')
如果您在像 IPython 这样的增强型 REPL 中执行此操作,则可以使用 tab-autocomplete 来浏览 顶级可访问方法 及其文档字符串。
“如何安装 angr”的简短版本是 mkvirtualenv --python=$(which python3) angr && python -m pip install angr
.
例子
angr 做了很多二进制分析的事情。 为了帮助您入门,这里有一个使用符号执行在 CTF 挑战中获得标志的简单示例。
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 和 Github 存储库的文档
- 直接进入: 顶级可访问方法
- 使用 angr 解决 CTF 挑战的示例 。
- API参考
- awesome-angr 回购协议
没有回复内容