Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ghidra-firmware-utils — Ghidra एक्सटेंशन जो PC फर्मवेयर रिवर्स इंजीनियरिंग के लिए है, जो PCI ऑप्शन ROMs, Intel Flash Descriptor, coreboot CBFS, और UEFI फर्मवेयर वॉल्यूम के लिए लोडर प्रदान करता है, साथ ही टाइप रिकवरी और GUID पहचान के लिए UEFI हेल्पर स्क्रिप्ट भी शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/al3xtjames/ghidra-firmware-utils
एम्बेडेड सिस्टम सुरक्षारिवर्स इंजीनियरिंगहार्डवेयर सुरक्षाहार्डवेयर और IoT सुरक्षाबाइनरी विश्लेषणफर्मवेयर विश्लेषण
GitHubal3xtjames/ghidra-firmware-utils

ghidra-firmware-utils

Ghidra एक्सटेंशन जो PC फर्मवेयर रिवर्स इंजीनियरिंग के लिए है, जो PCI ऑप्शन ROMs, Intel Flash Descriptor, coreboot CBFS, और UEFI फर्मवेयर वॉल्यूम के लिए लोडर प्रदान करता है, साथ ही टाइप रिकवरी और GUID पहचान के लिए UEFI हेल्पर स्क्रिप्ट भी शामिल हैं।

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
4935635 दिन पहलेKitploit द्वारा समीक्षित

Ghidra फर्मवेयर उपयोगिताएँ

PC फर्मवेयर रिवर्स इंजीनियरिंग में सहायता के लिए Ghidra के लिए विभिन्न मॉड्यूल। इसे GSoC 2019 के लिए coreboot प्रोजेक्ट के रूप में स्वीकार किया गया था।

विशेषताएँ

PCI विकल्प ROM लोडर

  • PCI विकल्प ROM के लिए एक FS लोडर लागू करता है (हाइब्रिड ROM को संभालता है जिसमें कई इमेज होती हैं, जैसे लीगेसी x86 + UEFI)
  • PCI विकल्प ROM से UEFI निष्पादन योग्य लोड करता है (संपीड़ित इमेज सहित)
  • लीगेसी x86 विकल्प ROM के लिए प्रवेश बिंदु फ़ंक्शन और विभिन्न हेडर डेटा प्रकार परिभाषित करता है

फर्मवेयर इमेज लोडर

  • फ्लैश मैप (FMAP) इमेज और Intel फ्लैश डिस्क्रिप्टर (IFD) इमेज के लिए एक FS लोडर लागू करता है (फ्लैश क्षेत्र दिखाता है)
  • Coreboot फाइलसिस्टम (CBFS) इमेज के लिए एक FS लोडर लागू करता है (शामिल फाइलें प्रदर्शित करता है और संपीड़न संभालता है)
  • UEFI फर्मवेयर वॉल्यूम और नेस्टेड फर्मवेयर फाइलसिस्टम (FFS) फ़ाइल/FFS अनुभाग पार्सिंग के लिए एक FS लोडर लागू करता है

Terse Executable (TE) लोडर

  • TE बाइनरी के लिए एक बाइनरी लोडर लागू करता है (अक्सर UEFI PI में उपयोग किया जाता है)

UEFI सहायक स्क्रिप्ट

  • आधार UEFI प्रकारों के लिए डेटा प्रकार लाइब्रेरी शामिल करता है (EDK2 MdePkg से लिया गया)
  • प्रवेश बिंदु फ़ंक्शन के हस्ताक्षर को ठीक करता है
  • बाइनरी के .data/.text खंडों में ज्ञात GUID परिभाषित करता है
  • UEFI तालिका पॉइंटर्स (gBS/gRT/gST/आदि) की वैश्विक प्रतियां ढूंढता और परिभाषित करता है

निर्माण और स्थापना

JDK 21 (या नया) और Ghidra 12.0 (या नया) आवश्यक हैं।

Ghidra की मानक Gradle निर्माण प्रणाली का उपयोग किया जाता है। निर्माण से पहले GHIDRA_INSTALL_DIR पर्यावरण चर सेट करें, या इसे Gradle प्रॉपर्टी के रूप में सेट करें (IDE में निर्माण के लिए उपयोगी):

पर्यावरण चर

root@kitploit:~
$ export GHIDRA_INSTALL_DIR="/path/to/ghidra"
$ ./gradlew

Gradle प्रॉपर्टी

root@kitploit:~
echo GHIDRA_INSTALL_DIR=/path/to/ghidra > gradle.properties

[!NOTE] GHIDRA_INSTALL_DIR को उस निर्देशिका की ओर इंगित करना चाहिए जिसमें support/buildExtension.gradle शामिल है। उदाहरण के लिए, Flathub पैकेज के उपयोगकर्ताओं को /var/lib/flatpak/app/org.ghidra_sre.Ghidra/current/active/files/lib/ghidra का उपयोग करना चाहिए।

मॉड्यूल ZIP dist/ में आउटपुट होगा। File > Install Extensions का उपयोग करें और एक्सटेंशन ब्राउज़ करने के लिए हरा प्लस चुनें। संकेत मिलने पर Ghidra को पुनरारंभ करें।

उचित कार्यक्षमता के लिए, प्लगइन को आपके Ghidra इंस्टॉलेशन द्वारा उपयोग किए गए उसी JRE के साथ बनाया जाना चाहिए। यदि आपके पास कई Java रनटाइम वातावरण स्थापित हैं, तो निर्माण से पहले JAVA_HOME पर्यावरण चर सेट करके सही JRE चुनें।

उपयोग

PCI विकल्प ROM लोडर

Ghidra प्रोजेक्ट में एक PCI विकल्प ROM जोड़ें। लीगेसी x86 विकल्प ROM को सीधे विश्लेषण के लिए लोड किया जा सकता है। सुनिश्चित करें कि बाइनरी प्रारूप x86 PCI Option ROM पर सेट है, और बाइनरी आयात करें।

UEFI विकल्प ROM या विकल्प ROM जिनमें एक से अधिक इमेज होती हैं, उन्हें फाइलसिस्टम लोडर का उपयोग करके आयात किया जाना चाहिए। आयात मोड चुनने के लिए संकेत मिलने पर, File system चुनें। विकल्प ROM के भीतर निहित इमेज प्रदर्शित की जाएंगी, और विश्लेषण के लिए आयात की जा सकती हैं। लीगेसी x86 इमेज को x86 PCI Option ROM लोडर द्वारा संभाला जाएगा, और UEFI इमेज को PE32 लोडर द्वारा संभाला जाएगा (संपीड़न समर्थित है)। प्रत्येक इमेज के लिए जानकारी दाएं-क्लिक मेनू में Get Info चुनकर प्रदर्शित की जा सकती है।

फर्मवेयर इमेज लोडर

Ghidra प्रोजेक्ट में एक समर्थित फर्मवेयर इमेज जोड़ें। फर्मवेयर इमेज लोडर फ्लैश डिस्क्रिप्टर वाली Intel इमेज, FMAP/CBFS लेआउट वाली coreboot इमेज, और UEFI फर्मवेयर वॉल्यूम का समर्थन करता है। File system आयात मोड का उपयोग निर्दिष्ट फर्मवेयर इमेज के भीतर एम्बेडेड फाइलों को देखने के लिए किया जा सकता है।

ध्यान दें कि कुछ UEFI फर्मवेयर इमेज फ्रीफॉर्म/रॉ फाइलों (या फ्रीफॉर्म/रॉ FFS अनुभागों) के भीतर नेस्टेड फर्मवेयर वॉल्यूम संग्रहीत कर सकती हैं। ऐसी फाइलों को निर्दिष्ट फ्रीफॉर्म/रॉ फाइल के लिए दाएं-क्लिक मेनू में Open File System चुनकर फर्मवेयर वॉल्यूम के रूप में आयात किया जा सकता है। यदि कोई नेस्टेड फर्मवेयर वॉल्यूम नहीं मिलता है, तो एक त्रुटि संदेश प्रदर्शित होगा (No file system provider for...)।

UEFI सहायक स्क्रिप्ट

सहायक स्क्रिप्ट प्लगइन की ghidra_scripts निर्देशिका में शामिल है, जिसे Ghidra में स्क्रिप्ट निर्देशिकाओं की सूची में स्वचालित रूप से जोड़ा जाना चाहिए।

स्क्रिप्ट मैनेजर विंडो में UEFIHelper.java चुनकर UEFI सहायक स्क्रिप्ट चलाएं (Window -> Script Manager से एक्सेस किया गया)।

UEFI डेटा प्रकार लाइब्रेरी को संशोधित करने के लिए, आवश्यकतानुसार data/gen_prf.sh में PRF टेम्पलेट संशोधित करें और नई PRF फाइलें उत्पन्न करें। File -> Parse C Source में उत्पन्न PRF फाइल खोलें। Parse to File... चुनकर अद्यतन डेटा प्रकार लाइब्रेरी बनाएं। data में मूल डेटा प्रकार लाइब्रेरी ओवरराइट करें और प्लगइन को फिर से बनाएं।

संबंधित प्रोजेक्ट

ये UEFI रिवर्सिंग से संबंधित कुछ दिलचस्प प्रोजेक्ट हैं:

  • efiXplorer - UEFI फर्मवेयर विश्लेषण और रिवर्स इंजीनियरिंग स्वचालन के लिए IDA प्लगइन
  • Ghidra-EFI-Byte-Code-Processor - Ghidra के लिए EFI बाइट कोड (EBC) प्रोसेसर मॉड्यूल

लाइसेंस

Apache 2.0, कुछ अपवादों के साथ:

  • src/efidecompress/c/efidecompress.c: BSD

श्रेय

src/efidecompress/c/efidecompress.c uefi-firmware-parser से Decompress.c का हल्का संशोधित संस्करण है (जो स्वयं EDK2 BaseTools में मूल से व्युत्पन्न है)।

src/main/java/firmware/ifd में IFD FS लोडर ने UEFITool से पार्सर को संदर्भ के रूप में उपयोग किया।

data/guids.csv में GUID डेटाबेस UEFITool से लिया गया है।

data/uefi_*.gdt में UEFI डेटा प्रकार लाइब्रेरी data/gen_prf.sh के साथ उत्पन्न की गई थीं, जो आंशिक रूप से wrffrz द्वारा एक Ghidra पुल अनुरोध से UEFI पार्सर परिभाषा पर आधारित है। ये डेटा प्रकार लाइब्रेरी EDK2 MdePkg से हेडर का उपयोग करती हैं।

xerpi द्वारा GhidraVitaLoader का उपयोग UEFI सहायक स्क्रिप्ट के कुछ हिस्सों के लिए संदर्भ के रूप में किया गया था।

टूल डाउनलोड करें