
IDA प्लगइन जो (U)EFI बाइनरी रिवर्सिंग को बैच विश्लेषण, GUID डेटाबेस, और फर्मवेयर सुरक्षा अनुसंधान के लिए सेवा उपयोग आँकड़ों के साथ बेहतर बनाता है।
__.
_ __/_ /| |
| ) | ) | |
| \ | \ | |
/ / _ / ||
/ /
_________ . ____ . . _____
/ / _ || ______ ______ | |/ _| ____ ||/ _
_ \ / / / |/ // / | < / | \ / __
/ \ /| |_ \ _ \ | | | | \ || | \ /
/ / /_/ |/ > > |____| _| /||| _ >
/ / / / / /
EFI स्विस नाइफ (U)EFI रिवर्सिंग को बेहतर बनाने के लिए एक IDA प्लगइन
कॉपीराइट (C) 2016, 2017 पेड्रो विलासा (fG!) - [email protected] - https://reverse.put.as
यह (U)EFI बाइनरी रिवर्सिंग में सहायता के लिए एक IDA प्लगइन है। यह स्नेयर के मूल कार्य पर आधारित है - https://github.com/snare/ida-efiutils चूँकि मुझे Python से नफरत है, मैंने 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/ पर कॉपी करें।
डिफ़ॉल्ट रूप से यह केवल IDA के 64 बिट संस्करण के लिए प्लगइन संकलित करता है। यदि आप प्लगइन को 32 बिट संस्करण के लिए चाहते हैं तो आपको Xcode प्रोजेक्ट संपादित करना होगा और EA64=1 को 0 में बदलना होगा।
इसे IDA से कॉल करने के लिए Shift+F2 उपयोग करें और फिर
प्लगइन बैच मोड का समर्थन करता है यदि आप EFI बाइनरी का सामूहिक विश्लेषण करना चाहते हैं और सेवा उपयोग के बारे में कुछ आँकड़े एकत्र करना चाहते हैं।
आप शायद efi_guids.h पर उपलब्ध GUIDs को अपडेट करना चाहेंगे।
यह कोड Mac OS X EFI बाइनरी को लक्षित कर रहा है। यह अन्य प्लेटफार्मों की UEFI बाइनरी के साथ बिना समस्याओं या मामूली संशोधनों और अपडेट के साथ काम करना चाहिए।
केवल PE बाइनरी समर्थित हैं, अभी तक TE बाइनरी समर्थित नहीं हैं।
बस इतना ही! आनंद लें :-)
fG!
v1.0 - प्रारंभिक संस्करण
IDA बग्स: एक और बग PLUGIN_UNL फ्लैग से संबंधित है। इसका उपयोग "'run' को कॉल करने के तुरंत बाद प्लगइन को अनलोड करने" के लिए किया जाता है। यदि यह विकल्प सेट है, तो यह Windows संस्करण को क्रैश कर देता है। Mac संस्करण इसके साथ ठीक काम करता प्रतीत होता है।