
एक स्थिर बाइनरी इंस्ट्रुमेंटेशन उपकरण जो निष्पादन योग्य से COFF ऑब्जेक्ट फ़ाइलें डंप करता है, जिससे IDA Pro के माध्यम से ब्लैक-बॉक्स फ़ज़िंग और बाइनरी पैचिंग के लिए किसी भी स्थान पर कोड/डेटा सम्मिलन संभव होता है।
IDA2Obj एक उपकरण है जो SBI (स्टैटिक बाइनरी इंस्ट्रुमेंटेशन) को लागू करने के लिए है।
कार्य प्रवाह सरल है:
वातावरण तैयार करें:
idapython.cfg में AUTOIMPORT_COMPAT_IDA695 = YES सेट करें।pip install coughकार्यक्षेत्र के रूप में एक फ़ोल्डर बनाएं।
जिस लक्ष्य बाइनरी को आप फ़ज़ करना चाहते हैं, उसे कार्यक्षेत्र में कॉपी करें।
बाइनरी को IDA Pro में लोड करें, बाइनरी से सभी सेगमेंट लोड करने के लिए संसाधन लोड करें और मैन्युअल रूप से लोड करें चुनें।
ऑटो-विश्लेषण पूरा होने की प्रतीक्षा करें।
स्क्रिप्ट MagicIDA/main.py चलाकर ऑब्जेक्ट फ़ाइलें डंप करें।
${workspace}/${module}/objs/afl के अंदर होंगी।TRACE_MODE नामक एक खाली फ़ाइल बनाते हैं, तो आउटपुट ऑब्जेक्ट फ़ाइलें ${workspace}/${module}/objs/trace के अंदर होंगी।${workspace}/${module} के अंदर 3 फ़ाइलें भी उत्पन्न करेगा:
स्क्रिप्ट utils/LibImports.py चलाकर lib फ़ाइलें उत्पन्न करें।
${workspace}/${module}/libs के अंदर होंगी, बाद में लिंकिंग के लिए उपयोग की जाती हैं।एक टर्मिनल खोलें और डायरेक्टरी को कार्यक्षेत्र में बदलें।
utils/link.bat का उपयोग करके सभी ऑब्जेक्ट फ़ाइलों और lib फ़ाइलों को लिंक करें।
utils/link.bat GdiPlus dll afl /RELEASE${workspace}/${module} के अंदर pdb फ़ाइल के साथ नई बाइनरी उत्पन्न करेगा।utils/PatchPEHeader.py का उपयोग करके नवनिर्मित बाइनरी को पैच करें।
utils/PatchPEHeader.py GdiPlus/GdiPlus.afl.dllutils/register_msdia_run_as_administrator.bat चलाने की आवश्यकता हो सकती है।चलाएं और फ़ज़ करें।
HITB स्लाइड्स : https://github.com/jhftss/jhftss.github.io/blob/main/res/slides/HITB2021SIN%20-%20IDA2Obj%20-%20Mickey%20Jin.pdf
डेमो : https://drive.google.com/file/d/1N3DXJCts5jG0Y5B92CrJOTIHedWyEQKr/view?usp=sharing