ANGR ist ein plattform-agnostischer Binäranalyse-Framework. Es wird Ihnen vom Computer -Sicherheitslabor der UC Santa Barbara, Sefcom an der Arizona State University, ihrem assoziierten CTF -Team, Shellphish, der Open -Source -Community und @rhelmot zu Ihnen gebracht.
Homepage: https://angr.io
Projektrepository: https://github.com/angr/angr
Dokumentation: https://docs.angr.io
API -Dokumentation: https://api.angr.io/en/latest/
ANGR ist eine Suite von Python -3 -Bibliotheken, mit denen Sie eine Binärdatei laden und viele coole Dinge tun können:
Der häufigste ANGR-Betrieb ist ein Binärer: p = angr.Project('/bin/bash') Wenn Sie dies in einer erweiterten Reply wie Ipython tun, können Sie Tab-autocomplete verwenden, um die obersten Methoden und deren Docstrings zu durchsuchen.
Die Kurzversion von "How to Installation ANGR" ist mkvirtualenv --python=$(which python3) angr && python -m pip install angr
ANGR macht eine Menge binärer Analyse. Um Ihnen den Einstieg zu erleichtern, finden Sie hier ein einfaches Beispiel für die Verwendung symbolischer Ausführung, um eine Flagge in einer CTF -Herausforderung zu erhalten.
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 ()