ANGR เป็นกรอบการวิเคราะห์ไบนารีแพลตฟอร์ม มันถูกนำเสนอโดยห้องปฏิบัติการความปลอดภัยคอมพิวเตอร์ที่ UC Santa Barbara, SEFCOM ที่ Arizona State University, ทีม 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 คุณสามารถใช้ Tab-Autocomplete เพื่อเรียกดูวิธีการเข้าถึงระดับสูงสุดและเอกสารของพวกเขา
เวอร์ชันสั้น ๆ ของ "How to Install 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 ()