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 ()