angr
1.0.0
ANGR是一个平台 - 不合骨的二进制分析框架。它是由UC Santa Barbara的计算机安全实验室,亚利桑那州立大学的SEFCOM,其相关CTF团队,Shellphish,开源社区和@RhelMot带给您的。
主页:https://angr.io
项目存储库:https://github.com/angr/angr
文档:https://docs.angr.io
API文档:https://api.angr.io/en/latest/
ANGR是一套Python 3库,可让您加载二进制文件并为其做很多很酷的事情:
最常见的ANGR操作是加载二进制文件: p = angr.Project('/bin/bash')如果您在诸如ipython(例如ipython)中这样做,则可以使用tab-autocomplete来浏览顶级访问的方法及其docstrings。
“如何安装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 ()