Angr - منصة تحليل ثنائية قوية وسهلة الاستخدام
angr هو إطار التحليل الثنائي للمنصة. يتم تقديمها لك من قبل مختبر أمان الكمبيوتر في جامعة كاليفورنيا في سانتا باربرا ، SEFCOM في جامعة ولاية أريزونا ، فريق CTF المرتبط بها ، Shellphish ، مجتمع المصدر المفتوح ، و rhelmot .
ماذا؟
angr عبارة عن مجموعة من مكتبات Python 3 التي تتيح لك تحميل ملف ثنائي وإجراء الكثير من الأشياء الرائعة عليه:
- التفكيك ورفع التمثيل الوسيط
- أدوات البرنامج
- التنفيذ الرمزي
- تحليل التحكم في التدفق
- تحليل الاعتماد على البيانات
- تحليل مجموعة القيمة (VSA)
- بتفريغ
عملية
النسخة القصيرة من "كيفية تثبيت p = angr.Project('/bin/bash')
الأكثر شيوعًا هي تحميل ملف ثنائي: p = angr.Project('/bin/bash')
إذا قمت بذلك في REPL محسّن مثل IPython ، فيمكنك استخدام tab-autocomplete لتصفح الطرق ذات المستوى الأعلى و تطعيمهم. mkvirtualenv --python=$(which python3) angr && python -m pip 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()
بداية سريعة
- تعليمات التثبيت
- وثائق مثل HTML وكمستودع جيثب
- الغوص في: أساليب الوصول إلى المستوى الأعلى
- أمثلة باستخدام angr لحل تحديات CTF .
- مرجع API
Commentaires
Enregistrer un commentaire