يحتوي هذا المستودع على مجموعة من البرامج النصية والمكونات الإضافية لـ IDA Pro التي يستخدمها فريق FireEye Labs Advanced Reverse Engineering (FLARE).
للتثبيت، انسخ محتويات دليل الملحقات في هذا المستودع إلى المجلد %PROGRAMFILES%IDAplugins الخاص بك.
يمكن نسخ دليل python هنا إلى المجلد %PROGRAMFILES%IDApython، أو يمكنك تعديل متغير بيئة PYTHONPATH الخاص بك ليشمل الدليل.
ينفذ البرنامج الإضافي Shellcode_hashes_search_plugin.py IDA بحث التجزئة الموضح هنا: https://www.mandiant.com/blog/precalculated-string-hashes-reverse-engineering-shellcode/.
يحتوي دليل shellcode_hashes على البرنامج النصي المستخدم لإنشاء قاعدة البيانات الخاصة بالبرنامج النصي shellcode_hash_search.py، بالإضافة إلى قاعدة البيانات المتوفرة.
ينفذ المكون الإضافي struct_typer_plugin.py كتابة البنية الموضحة هنا: https://www.mandiant.com/blog/applying-function-types-structure-fields-ida/
ينفذ stackstrings_plugin.py استرداد السلاسل المنشأة يدويًا الموضحة هنا: http://www.fireeye.com/blog/threat-research/2014/08/flare-ida-pro-script-series-automatic-recovery-of- سلاسل مبنية في Malware.html
يضيف هذا البرنامج النصي لـ IDA Pro معلومات MSDN من ملف XML إلى قاعدة البيانات. يمكن العثور على معلومات حول هذا البرنامج المساعد على: https://www.fireeye.com/blog/threat-research/2014/09/flare-ida-pro-script-series-msdn-annotations-ida-pro-for-malware -تحليل.html
يتم تضمين الوظائف التالية:
TL;DR: في IDA، قم بتشغيل annotate_IDB_MSDN.py .
يجب أن تكون جميع الملفات (البرامج النصية لـ IDAPython، ومحلل XML، وملف XML لمعلومات MSDN، وما إلى ذلك) موجودة في نفس الدليل الذي يمكن الوصول إليه بواسطة IDA Pro. في IDA، استخدم ملف - ملف Script... (ALT + F7) لفتح annotate_IDB_MSDN.py . سيسمح لك النموذج بتغيير الإعدادات والتعليق على ملف IDB بعد النقر فوق "موافق".
بعد تنفيذ البرنامج النصي مرة واحدة، يمكن أيضًا استخدام عرض - البرامج النصية الحديثة (ALT + F9).
يتيح لك هذا البرنامج المساعد تحديد أو اختيار نوع وظيفة للمكالمات غير المباشرة كما هو موضح هنا: https://www.fireeye.com/blog/threat-research/2015/04/flare_ida_pro_script.html
يتيح لك هذا البرنامج النصي إنشاء أنماط وظيفية بسهولة من قاعدة بيانات IDB الموجودة والتي يمكن بعد ذلك تحويلها إلى توقيعات FLIRT للمساعدة في تحديد الوظائف المماثلة في الملفات الجديدة. مزيد من المعلومات متاحة على: https://www.fireeye.com/blog/threat-research/2015/01/flare_ida_pro_script.html
يمكن أن تساعدك هذه الأداة المساعدة في تحديد الوسائط الثابتة للوظائف المستخدمة داخل البرنامج. يُستخدم هذا بشكل شائع لاستخراج الوسائط لوظائف وحدة فك ترميز السلسلة. مثال الاستخدام متاح في
تتوفر مشاركة مدونة تحتوي على مزيد من المعلومات على:
https://www.fireeye.com/blog/threat-research/2015/11/flare_ida_pro_script.html
يقوم هذا البرنامج النصي بإنشاء مراجع تبادلية بين مراجع المحدد وتطبيقاتها كما هو محدد في الأقسام ذات الصلة بوقت تشغيل Objective-C في Mach-O المستهدف القابل للتنفيذ. كما يقوم أيضًا بتصحيح المؤشرات المرجعية للمحدد للإشارة بدلاً من ذلك إلى وظيفة التنفيذ الخاصة به. وهذا يجعل تحليل كود Objective-C أسهل من خلال تمكين الانتقالات السلسة بين التنفيذ والمواقع التي تتم الإشارة فيها إلى محدده عبر الكود. تتم إضافة تعليقات تعليمات برمجية Objective-C المفيدة إلى كل استدعاء لمتغيرات objc_msgSend للإشارة بوضوح إلى الطريقة التي يتم استدعاؤها وفي أي فئة.
ironstrings.py
هو برنامج نصي IDAPython يستخدم محاكاة التعليمات البرمجية لاستعادة السلاسل المبنية (السلاسل المكدسة) من البرامج الضارة. يرجى الاطلاع على التفاصيل في الملف التمهيدي الخاص بالبرنامج النصي.
code_grafter.py
هو برنامج نصي لـ IDAPython يقوم بتطعيم التعليمات البرمجية في قاعدة بيانات IDA لتنفيذ العديد من الوظائف المستوردة وزيادة احتمالية القدرة على تنفيذ أداة فك الحزم أو وحدة فك التشفير بالكامل ضمن Bochs (أو أي أدوات محاكاة أخرى لا تنفذ معالجة خاصة لهذه وظائف). يؤدي هذا إلى منع حدوث أخطاء عندما يصل التنفيذ الذي تمت محاكاته إلى وظائف مثل VirtualAlloc
أو lstrlenA
.