
مكوّن إضافي لـ IDA لتعزيز هندسة عكسية لثنائيات (U)EFI من خلال التحليل الدفعي، وقاعدة بيانات GUID، وإحصائيات استخدام الخدمات لأبحاث أمن البرامج الثابتة.
__.
_ __/_ /| |
| ) | ) | |
| \ | \ | |
/ / _ / ||
/ /
_________ . ____ . . _____
/ / _ || ______ ______ | |/ _| ____ ||/ _
_ \ / / / |/ // / | < / | \ / __
/ \ /| |_ \ _ \ | | | | \ || | \ /
/ / /_/ |/ > > |____| _| /||| _ >
/ / / / / /
سكين سويسري لـ EFI إضافة لـ IDA لتحسين هندسة عكسية لملفات (U)EFI
حقوق النشر (C) 2016، 2017 بيدرو فيلاسا (fG!) - [email protected] - https://reverse.put.as
هذه إضافة لـ IDA للمساعدة في الهندسة العكسية لملفات (U)EFI الثنائية. وهي مبنية على العمل الأصلي لـ Snare - https://github.com/snare/ida-efiutils بما أنني أكره بايثون، قمت بعمل شيء جديد بلغة C مع إضافة بعض الميزات الإضافية التي أردتها.
تم اختبارها مع IDA 6.9/6.95 على إصدار Mac OS X.
للتجميع على OS X استخدم Makefile أو مشروع XCode.
ستحتاج إلى تعديل مشروع XCode وتعيين المسارات إلى SDK. (الافتراضي هو /Applications/IDA Pro 6.95/idasdk695)
يجب عليك تعديل config.h وتعديل مسارات السجل وقاعدة البيانات.
انسخ EFISwissKnife.pmc64 إلى /Applications/IDA Pro 6.95/idaq.app/Contents/MacOS/plugins/
افتراضياً، يتم تجميع الإضافة فقط لإصدار 64 بت من IDA. إذا كنت تريد الإضافة لإصدار 32 بت، فستحتاج إلى تعديل مشروع Xcode وتغيير EA64=1 إلى 0.
لاستدعائها من IDA استخدم Shift+F2 ثم:
تدعم الإضافة وضع الدفعة في حال أردت تحليل ملفات EFI الثنائية بشكل جماعي وجمع بعض الإحصائيات حول استخدام الخدمات.
ربما تريد تحديث معرّفات GUID المتوفرة في efi_guids.h.
هذا الكود يستهدف ملفات EFI الثنائية لنظام Mac OS X. يجب أن يعمل مع ملفات UEFI الثنائية للمنصات الأخرى دون مشاكل أو مع تعديلات وتحديثات طفيفة.
يتم دعم ملفات PE الثنائية فقط، ولا يتم دعم ملفات TE الثنائية بعد.
هذا كل شيء! استمتع :-)
fG!
v1.0 - الإصدار الأولي
أخطاء IDA: خطأ آخر يتعلق بعلم PLUGIN_UNL. يُستخدم لـ "تفريغ الإضافة فوراً بعد استدعاء 'run'.". إذا تم تعيين هذا الخيار، فإنه يتسبب في تعطل إصدار Windows. يبدو أن إصدار Mac يتعامل معه بشكل جيد.