
Intel, AMD, VIA और Freescale माइक्रोकोड निष्कर्षण उपकरण
Intel, AMD, VIA और Freescale माइक्रोकोड निष्कर्षण उपकरण
Intel, AMD, VIA और Freescale CPU माइक्रोकोड भंडार

MC Extractor एक उपकरण है जो Intel, AMD, VIA और Freescale प्रोसेसर माइक्रोकोड बाइनरीज़ को पार्स करता है। इसका उपयोग अंतिम-उपयोगकर्ताओं द्वारा किया जा सकता है जो सभी प्रासंगिक माइक्रोकोड जानकारी जैसे CPUID, प्लेटफ़ॉर्म, संस्करण, दिनांक, रिलीज़, आकार, चेकसम आदि खोज रहे हैं। यह Intel माइक्रोकोड कंटेनरों (dat, inc, h, txt) को BIOS एकीकरण के लिए बाइनरी इमेज में बदलने, नए/अज्ञात माइक्रोकोड का पता लगाने, माइक्रोकोड स्वास्थ्य की जाँच करने, अद्यतित/पुराना स्थिति और अधिक करने में सक्षम है। MC Extractor को कई संरचनाओं के साथ एक शोध विश्लेषण उपकरण के रूप में भी इस्तेमाल किया जा सकता है जो अन्य चीज़ों के अलावा, सभी दस्तावेजी या अदस्तावेजी माइक्रोकोड हेडरों की पूर्ण पार्सिंग और जानकारी प्रदर्शन की अनुमति देते हैं। इसके अलावा, अपने व्यापक डेटाबेस की सहायता से, MC Extractor सभी समर्थित माइक्रोकोड को अद्वितीय रूप से वर्गीकृत करने के साथ-साथ किसी भी माइक्रोकोड की जाँच करने में सक्षम है जो अभी तक माइक्रोकोड भंडारों में संग्रहीत नहीं किया गया है।
MC Extractor अंतिम-उपयोगकर्ताओं और/या शोधकर्ताओं को विशेष उपकरणों या हेक्स संपादकों के उपयोग के बिना नए माइक्रोकोड संस्करणों को जल्दी से निकालने, देखने, बदलने और रिपोर्ट करने की अनुमति देता है। इसे प्रभावी ढंग से करने के लिए, एक डेटाबेस बनाना पड़ा। Intel, AMD, VIA और Freescale CPU माइक्रोकोड भंडार प्रत्येक नवीनतम उत्पादन Intel, AMD और VIA CPU माइक्रोकोड का संग्रह है जो हमें मिले हैं। इसका अस्तित्व MC Extractor के लिए बहुत महत्वपूर्ण है क्योंकि यह हमें अनुसंधान जारी रखने, नए प्रकार के माइक्रोकोड खोजने, समानताओं के लिए रिलीज़ की तुलना करने, अद्यतन बाइनरीज़ की जाँच करने आदि की अनुमति देता है। MC Extractor के साथ MCE.db नामक एक फ़ाइल शामिल है जो प्रोग्राम को चलाने के लिए आवश्यक है। इसमें सभी माइक्रोकोड बाइनरीज़ की प्रविष्टियाँ शामिल हैं जो हमारे लिए उपलब्ध हैं। यह मुख्य रूप से दो कार्यों को समायोजित करता है: a) जाँच करें कि आयातित माइक्रोकोड अद्यतित है या नहीं और b) Intel, AMD, VIA और Freescale CPU माइक्रोकोड भंडार चर्चा थ्रेड पर रिपोर्ट करके नए माइक्रोकोड रिलीज़ को जल्दी खोजने में मदद करें।
MC Extractor शुरू में Lordkag's UEFIStrip उपकरण के एक अंश पर आधारित था, इसलिए सबसे पहले, मैं उनके सभी कार्यों के लिए धन्यवाद देता हूँ जिन्होंने इस परियोजना को प्रेरित किया। अन्य चीज़ों के अलावा, माइक्रोकोड के बारे में जानने के लिए बेहतरीन स्थान हैं Intel का अपना डाउनलोड साइट और आधिकारिक दस्तावेज़ीकरण, Intel Microcode Patch Authentication, Coreboot (a,b,c), Dominic Chen द्वारा Microparse, Ben Hawkes के नोट्स और अनुसंधान, Richard A Burton का Microdecode, AIDA64 CPUID डंप, Sandpile CPUID, Free Electrons (a, b), Freescale (a, b, c, d) और कई अन्य जिन्हें मैं भूल गया हो सकता हूँ लेकिन अन्यथा वे यहाँ होते।
MC Extractor का उपयोग करने के दो तरीके हैं, MCE स्क्रिप्ट और कमांड प्रॉम्प्ट। MCE स्क्रिप्ट आपको एक या अधिक फर्मवेयर इनपुट या ड्रैग और ड्रॉप करने और उन्हें एक-एक करके देखने या पूरे निर्देशिकाओं को पुनरावर्ती रूप से स्कैन करने की अनुमति देती है। MC Extractor का मैन्युअल उपयोग करने के लिए, -skip पैरामीटर के साथ कमांड प्रॉम्प्ट का उपयोग किया जा सकता है।
MC Extractor का उपयोग करने के लिए, एक या अधिक फ़ाइलें चुनें और उन्हें इसकी स्क्रिप्ट में इनपुट या ड्रैग और ड्रॉप करें। आप MCE को सीधे चलाकर या पहले इसमें एक या अधिक फ़ाइलें ड्रॉप करके कुछ वैकल्पिक पैरामीटर भी इनपुट कर सकते हैं। ध्यान रखें कि ऑपरेटिंग सिस्टम की सीमाओं के कारण, एक बार में कितनी फ़ाइलें ड्रॉप की जा सकती हैं, इसकी एक सीमा है। यदि बाद वाली समस्या है, तो आप हमेशा -mass पैरामीटर का उपयोग करके पूरे निर्देशिकाओं को पुनरावर्ती रूप से स्कैन कर सकते हैं, जैसा कि नीचे समझाया गया है।
कई पैरामीटर हैं जो MC Extractor के डिफ़ॉल्ट व्यवहार को बढ़ाते या संशोधित करते हैं:
MC Extractor अपना स्वयं का माइक्रोकोड ब्लॉब (MCB) प्रारूप बना सकता है, जो कई Intel या AMD माइक्रोकोड बाइनरीज़ को एक फ़ाइल में जोड़ता है। यह मुख्य रूप से समकक्ष उपयोगकर्ता माइक्रोकोड बाइनरी इनपुट के आधार पर नवीनतम संगत माइक्रोकोड बाइनरी के त्वरित और स्वचालित निष्कर्षण की अनुमति देता है। MCB में एक पहचान योग्य हेडर और एक एंट्री लुक अप टेबल (LUT) होता है जिसके बाद वास्तविक माइक्रोकोड बाइनरी डेटा होता है। हेडर में माइक्रोकोड विक्रेता (Intel या AMD), माइक्रोकोड की संख्या, MCE DB संशोधन और एक चेकसम जैसी जानकारी शामिल होती है जो पूरे ब्लॉब को कवर करता है। LUT प्रविष्टियों में प्रत्येक माइक्रोकोड बाइनरी के लिए CPUID, प्लेटफ़ॉर्म, संशोधन, दिनांक, आकार, चेकसम और ब्लॉब ऑफ़सेट जैसे विवरण शामिल हैं।

MCE माइक्रोकोड ब्लॉब (MCB.bin) बनाने के लिए, वांछित Intel या AMD माइक्रोकोड बाइनरीज़ इनपुट करें और -blob पैरामीटर का उपयोग करें। आप अपने स्वयं के माइक्रोकोड का उपयोग कर सकते हैं या Intel, AMD, VIA और Freescale CPU माइक्रोकोड्स भंडार में नवीनतम उत्पादन Intel और AMD माइक्रोकोड पा सकते हैं। MCB से नवीनतम माइक्रोकोड निकालने के लिए, एक एकल माइक्रोकोड बाइनरी इनपुट करें और -blob -search पैरामीटर का उपयोग करें। MC Extractor पाए गए MCB को मान्य करेगा, नवीनतम निकालने से पहले जाँच करेगा कि माइक्रोकोड पहले से अद्यतित है या नहीं और तदनुसार सूचित करेगा।
संचालन के दौरान, MC Extractor को ऐसी समस्याओं का सामना करना पड़ सकता है जो नोट्स, चेतावनियाँ और/या त्रुटियाँ उत्पन्न कर सकती हैं। नोट्स (पीला/हरा रंग) इस विशेष फर्मवेयर की एक विशेषता के बारे में उपयोगी जानकारी प्रदान करते हैं। चेतावनियाँ (बैंगनी रंग) उपयोगकर्ता को संभावित समस्याओं के बारे में सूचित करती हैं जो सिस्टम अस्थिरता का कारण बन सकती हैं। त्रुटियाँ (लाल रंग) तब दिखाई जाती हैं जब कुछ अप्रत्याशित या समस्याग्रस्त सामना होता है।
MC Extractor में दो फ़ाइलें हैं, स्क्रिप्ट (MCE.py) और इसका डेटाबेस (MCE.db)। रिलीज़ टैब से नवीनतम संस्करण डाउनलोड करें, शीर्षक "MC Extractor vX.Y.Z" से शुरू होना चाहिए। यदि शीर्ष पर DB रिलीज़ हैं तो आपको थोड़ा नीचे स्क्रॉल करने की आवश्यकता हो सकती है। बाद वाले का उपयोग पुराने DB को अपडेट करने के लिए किया जा सकता है जो नवीनतम "MC Extractor vX.Y.Z" रिलीज़ के साथ बंडल किया गया था, शीर्षक "DB rXY" से शुरू होना चाहिए।
MC Extractor को सभी Windows, Linux या macOS ऑपरेटिंग सिस्टम पर काम करना चाहिए जिनमें Python >= 3.7 समर्थन है।
MC Extractor चलाने के लिए, आपको Python >= 3.7 स्थापित करना होगा, उसके बाद ये तृतीय-पक्ष Python मॉड्यूल स्थापित करने होंगे:
pip3 install colorama pltable
नोट: कुछ चित्र पुराने हो सकते हैं और पुराने MC Extractor संस्करणों को दर्शाते हैं।


















