
DriverBuddy एक IDA Python स्क्रिप्ट है जो Windows कर्नेल ड्राइवरों के रिवर्स इंजीनियरिंग में सहायता करती है।
DriverBuddy एक IDAPython प्लगइन है जो Windows कर्नेल ड्राइवरों के रिवर्स इंजीनियरिंग से जुड़े कुछ नीरस कार्यों को स्वचालित करने में मदद करता है। इसमें कई उपयोगी विशेषताएँ हैं, जैसे:
ड्राइवर रिवर्स इंजीनियरिंग के दौरान DispatchDeviceControl फ़ंक्शन का स्वचालित रूप से पता लगाना और पहचानना समय बचाने वाला कार्य है। यह फ़ंक्शन सभी आने वाले DeviceIoControl कोडों को उस कोड से जुड़े विशिष्ट ड्राइवर फ़ंक्शन तक पहुँचाने के लिए उपयोग किया जाता है। इस फ़ंक्शन की स्वचालित पहचान प्रत्येक ड्राइवर के लिए मान्य DeviceIoControl कोड खोजना अधिक तेज़ बना देती है। इसके अतिरिक्त, किसी क्रैश के कारण ड्राइवर में संभावित कमजोरियों की जाँच करते समय, इस फ़ंक्शन का स्थान जानने से क्रैश करने वाले DeviceIoControl कोड से जुड़े विशिष्ट फ़ंक्शन कॉल पर ध्यान केंद्रित करने में मदद मिलती है।
कई ड्राइवर संरचनाएँ सभी WDM ड्राइवरों के बीच साझा होती हैं। IO_STACK_LOCATION, IRP और DeviceObject जैसी इन संरचनाओं की स्वचालित रूप से पहचान करने में सक्षम होना रिवर्स इंजीनियरिंग प्रक्रिया के दौरान समय बचाने में मदद कर सकता है। DriverBuddy इनमें से कई structs का पता लगाने और पहचानने का प्रयास करता है।
WDM ड्राइवरों की तरह, कई फ़ंक्शन और संरचनाएँ हैं जो सभी WDF ड्राइवरों के बीच साझा होती हैं। इन फ़ंक्शनों और संरचनाओं की स्वचालित पहचान रिवर्स इंजीनियरिंग प्रक्रिया के दौरान समय बचाएगी और ड्राइवर के उन अपहचाने क्षेत्रों को संदर्भ प्रदान करेगी जहाँ ये फ़ंक्शन उपयोग में हैं।
ड्राइवरों को रिवर्स करते समय, विश्लेषण के भाग के रूप में IOCTL कोड मिलना आम बात है। ये कोड, जब डिकोड किए जाते हैं, तो रिवर्स इंजीनियर्स को उपयोगी जानकारी प्रकट करते हैं और ड्राइवर के उन विशिष्ट भागों पर ध्यान केंद्रित कर सकते हैं जहाँ कमजोरियों की संभावना अधिक होती है।
विस्तारित लक्ष्य:
यह सॉफ़्टवेयर MIT लाइसेंस के तहत जारी किया गया है, LICENSE देखें।