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

بداية سريعة


Commentaires

Posts les plus consultés de ce blog