angr
1.0.0
ANGRは、プラットフォームに依存しないバイナリ分析フレームワークです。 UCサンタバーバラのコンピューターセキュリティラボ、アリゾナ州立大学のSEFCOM、関連するCTFチーム、Shellphish、The Open Source Community、および@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 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 ()