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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ghidra — Ghidra एक सॉफ्टवेयर रिवर्स इंजीनियरिंग (SRE) फ्रेमवर्क है। | Kitploit
उपकरण/GitHubGitHub/nationalsecurityagency/ghidra
स्थैतिक विश्लेषणगतिशील विश्लेषण (सैंडबॉक्सिंग)शोषण फ्रेमवर्कभेद्यता विश्लेषणरिवर्स इंजीनियरिंगस्क्रिप्टिंग और स्वचालनडीबगर्समालवेयर विश्लेषणबाइनरी विश्लेषणलर्निंग और शिक्षाफर्मवेयर विश्लेषण
71.1k7.8k14 दिन पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHub
nationalsecurityagency/ghidra

ghidra

Ghidra एक सॉफ्टवेयर रिवर्स इंजीनियरिंग (SRE) फ्रेमवर्क है।

रिपॉजिटरी देखेंवेबसाइट

डॉकरीकृत Ghidra

निर्माण

अपने Ghidra रिलीज़ की मूल निर्देशिका से, निम्नलिखित कमांड चलाएँ।

root@kitploit:~
./docker/build-docker-image.sh

यह ghidra डॉकर इमेज को एक टैग के साथ बनाएगा जो Ghidra के रिलीज़ संस्करण के अनुरूप होता है।

MODE पर्यावरण चर

Ghidra डॉकर कंटेनर निष्पादन के निम्नलिखित MODE का समर्थन करता है:

  • gui
  • headless
  • ghidra-server
  • bsim
  • bsim-server
  • pyghidra

MODE पर्यावरण चर यह निर्धारित करता है कि Ghidra का कौन सा एंट्रीपॉइंट निष्पादित किया जाए।

entrypoint.sh स्क्रिप्ट कंटेनर स्टार्टअप पर निष्पादित होती है।

कंटेनर को कॉन्फ़िगर करना

कंटेनर का कॉन्फ़िगरेशन उसी प्रकार किया जाता है जैसे किसी अन्य डॉकर कंटेनर को कॉन्फ़िगर किया जाएगा। वॉल्यूम माउंट किए जा सकते हैं, पर्यावरण चर सेट किए जा सकते हैं, पोर्ट कंटेनर से होस्ट पर मैप किए जा सकते हैं, इत्यादि। कॉन्फ़िगरेशन चरण उस MODE पर बहुत अधिक निर्भर करते हैं जिसके साथ कंटेनर प्रारंभ किया गया है।

कंटेनर के अंदर Ghidra के लिए आधार निर्देशिका /ghidra पर स्थित है। फ़ाइलों, कॉन्फ़िग्स आदि के लिए ghidra के सभी डिफ़ॉल्ट स्थान उसके अंदर समान हैं। Ghidra कंटेनर के अंदर उपयोगकर्ता ghidra के रूप में चलाया जाता है, जिसका uid 1001 और guid 1001 है।

ghidra उपयोगकर्ता के पास कंटेनर के अंदर केवल निम्नलिखित निर्देशिकाओं की अनुमति है:

  • /ghidra
  • /home/ghidra

जब किसी कंटेनर को docker run कमांड के साथ कोई तर्क पारित नहीं किया जाता है, तो निष्पादित MODE के लिए संबंधित कमांड लाइन इंटरफ़ेस (CLI) अपना उपयोग विवरण प्रदर्शित करेगा।

कंटेनर में स्थानीय वॉल्यूम मैप करना

कंटेनर के अंदर वॉल्यूम को अनुमति संबंधी समस्याओं का सामना करना पड़ सकता है यदि वॉल्यूम समूह आईडी 1001 वाले उपयोगकर्ताओं के लिए सुलभ नहीं हैं।

कंटेनर के लिए डिफ़ॉल्ट uid और guid 1001:1001 है। कंटेनर में मैप किए जाने वाले वॉल्यूम इस uid/guid द्वारा सुलभ होने चाहिए।

होस्ट मशीन के उपयोगकर्ता को होस्ट पर समूह 1001 में जोड़ने से कंटेनर में उपयोग किए जाने वाले वॉल्यूम को प्रबंधित करने में मदद मिलती है। यह Linux पर sudo usermod -aG 1001 <user> निष्पादित करके आसानी से किया जा सकता है।

हेडलेस मोड का उदाहरण

root@kitploit:~
docker run \
    --env MODE=headless \
    --rm \
    --volume /path/to/myproject:/home/ghidra/myproject \
    --volume /path/to/mybinary:/home/ghidra/mybinary \
    ghidra/ghidra:<version> \
    /home/ghidra/myproject programFolder -import /home/ghidra/mybinary

इसे पंक्ति दर पंक्ति समझना:

  • docker run छवि ghidra/ghidra<:<version> का उपयोग करके एक डॉकर कंटेनर प्रारंभ करेगा
  • --env MODE=headless कंटेनर के अंदर पर्यावरण चर MODE को headless मान पर कॉन्फ़िगर करता है
  • --rm कमांड पूर्ण होने के बाद कंटेनर को हटा देता है
  • --volume /path/to/myproject:/home/ghidra/myproject होस्ट पर स्थानीय वॉल्यूम /path/to/myproject को कंटेनर के अंदर /home/ghidra/myproject पर माउंट करता है
  • --volume /path/to/mybinary:/home/ghidra/mybinary होस्ट पर स्थानीय वॉल्यूम /path/to/mybinary को कंटेनर के अंदर /home/ghidra/mybinary पर माउंट करता है
  • ghidra/ghidra:<version> डॉकर छवि का पूर्ण संदर्भ है, जहाँ छवि का समूह और नाम है, और टैग है।

कोई तर्क पारित न करने पर हेडलेस विश्लेषक का उपयोग प्रदर्शित होगा।

होस्ट पर /path/to/myproject rwx अनुमतियों के साथ guid 1001 के लिए सुलभ होना चाहिए।

GUI मोड का उदाहरण

डॉकर कंटेनर में Ghidra का ग्राफिकल यूज़र इंटरफ़ेस (GUI) चलाना Ghidra चलाने की अनुशंसित विधि नहीं है। GUI डॉकरीकृत अनुप्रयोगों के लिए विशिष्ट उपयोग मामला नहीं हैं।

root@kitploit:~
docker run \
    --env MODE=gui \
    -it \
    --rm \
    --net host \
    --env DISPLAY \
    --volume "$HOME/.Xauthority:/home/ghidra/.Xauthority" \
    ghidra/ghidra:<version>

इस मोड में, कंटेनर GUI प्रदर्शित करने के लिए X11 फ़ॉरवर्डिंग पर निर्भर करता है। X11 का कॉन्फ़िगरेशन भिन्न हो सकता है, लेकिन इस मामले में, होस्ट की Xauthority फ़ाइल कंटेनर में माउंट की जाती है, कंटेनर होस्ट के नेटवर्क का उपयोग करने के लिए कॉन्फ़िगर किया जाता है, और DISPLAY पर्यावरण चर कंटेनर को पारित किया जाता है। यह GUI को होस्ट मशीन के डिस्प्ले पर वापस फ़ॉरवर्ड करने में सक्षम बनाता है। बाइनरी वाले वॉल्यूम को भी कंटेनर में माउंट करने की आवश्यकता होगी, साथ ही ghidra प्रोजेक्ट्स के लिए वॉल्यूम भी।

होस्ट की .Xauthority फ़ाइल में उपयुक्त अनुमतियाँ होनी चाहिए - समूह :1001 को rw समूह अनुमतियाँ निर्दिष्ट होनी चाहिए।

Ghidra सर्वर मोड का उदाहरण

root@kitploit:~
docker run \
    --env MODE=ghidra-server \
    --rm \
    -it \
    --volume /path/to/my/repositories:/ghidra/repositories \
    --volume /path/to/my/configs/server.conf:/ghidra/server/server.conf \
    -p 13100:13100 \
    -p 13101:13101 \
    -p 13102:13102 \
    ghidra/ghidra:<version>

रिपॉजिटरी, उपयोगकर्ताओं को सहेजने और सर्वर को कॉन्फ़िगर करने के लिए सर्वर कंटेनर में वॉल्यूम माउंट करने की आवश्यकता होगी।

svrAdmin का उपयोग करने के लिए, चल रहे ghidra सर्वर कंटेनर में exec करें (docker exec -it <container-id> bash) कंटेनर में bash शेल के लिए। कंटेनर में exec करने के बाद, Ghidra सर्वर का प्रशासन और प्रबंधन कंटेनरीकृत वातावरण के बाहर जैसा ही है।

कंटेनर को रोकने के लिए, कमांड docker stop <container-id> निष्पादित करें।

नोट: आप होस्ट से डॉकर कंटेनर में जिन पोर्ट को मैप करते हैं, वे मेल खाने चाहिए। आप -p<port> विकल्प का उपयोग करके server.conf फ़ाइल में डिफ़ॉल्ट बेस सर्वर पोर्ट (यानी 13100) बदल सकते हैं।

BSIM सर्वर मोड का उदाहरण

root@kitploit:~
docker run \
    --env MODE=bsim-server \
    --rm \
    -it \
    --volume /path/to/my/datadir:/ghidra/bsim_datadir \
    -p 5432:5432 \
    ghidra/ghidra:<version> \
    /ghidra/bsim_datadir

/ghidra/bsim_datadir कंटेनर में bsim के डेटा को संग्रहीत करने के लिए उपयोग की जाने वाली निर्देशिका है। कंटेनर पर अन्य निर्देशिकाओं का उपयोग किया जा सकता है, लेकिन सुनिश्चित करें कि होस्ट मशीन पर फ़ोल्डर में उपयुक्त अनुमतियाँ हैं, समूह :1001 निर्दिष्ट है।

यह उदाहरण केवल एक bsim सर्वर प्रारंभ करता है। bsim सर्वर को कॉन्फ़िगर करना और इसे डेटा से भरना कंटेनर के अंदर प्रारंभ के बाद उसी तरह किया जा सकता है जैसे ghidra सर्वर प्रशासन किया जाता है। एक प्रशासक को चल रहे bsim सर्वर कंटेनर में exec करना होगा (docker exec -it <container-id> bash), और कंटेनर में exec करने के बाद, Bsim सर्वर का प्रशासन और प्रबंधन कंटेनरीकृत वातावरण के बाहर जैसा ही है।

कंटेनर को रोकने के लिए, कमांड docker stop <container-id> निष्पादित करें।

BSIM CLI मोड का उदाहरण

root@kitploit:~
docker run \
		--env MODE=bsim \
		--rm \
		 -it \
		 ghidra/ghidra:<version> \
		 generatesigs ghidra://ghidrasvr/demo /home/ghidra \
			 --bsim postgresql://bsimsvr/demo \
			 --commit --overwrite \
			 --user ghidra

इस उदाहरण में, bsim CLI का उपयोग ghidrasvr पर होस्ट किए गए ghidra सर्वर से कनेक्ट करने, उस ghidra सर्वर में demo रिपॉजिटरी के लिए हस्ताक्षर उत्पन्न करने और उन्हें /home/ghidra में सहेजने के लिए किया जाता है। और फिर हस्ताक्षरों को bsimsvr पर होस्ट किए गए BSIM सर्वर में demo डेटाबेस में कमिट करता है।

Pyghidra GUI मोड का उदाहरण

डॉकर कंटेनर में Ghidra का ग्राफिकल यूज़र इंटरफ़ेस (GUI) चलाना Ghidra चलाने की अनुशंसित विधि नहीं है। GUI डॉकरीकृत अनुप्रयोगों के लिए विशिष्ट उपयोग मामला नहीं हैं।

root@kitploit:~
docker run \
    --env MODE=pyghidra \
    -it \
    --rm \
    --net host \
    --env DISPLAY \
    --volume="$HOME/.Xauthority:/home/ghidra/.Xauthority:rw" \
    ghidra/ghidra:<version> -c

इस मोड में, कंटेनर GUI प्रदर्शित करने के लिए X11 फ़ॉरवर्डिंग पर निर्भर करता है। X11 का कॉन्फ़िगरेशन भिन्न हो सकता है, लेकिन इस मामले में, होस्ट की Xauthority फ़ाइल कंटेनर में माउंट की जाती है, कंटेनर होस्ट के नेटवर्क का उपयोग करने के लिए कॉन्फ़िगर किया जाता है, और DISPLAY पर्यावरण चर कंटेनर को पारित किया जाता है। यह GUI को होस्ट मशीन के डिस्प्ले पर वापस फ़ॉरवर्ड करने में सक्षम बनाता है। बाइनरी वाले वॉल्यूम को भी कंटेनर में माउंट करने की आवश्यकता होगी, साथ ही ghidra प्रोजेक्ट्स के लिए वॉल्यूम भी।

होस्ट की .Xauthority फ़ाइल में उपयुक्त अनुमतियाँ होनी चाहिए - :1001 के स्वामित्व में rw समूह अनुमतियाँ होनी चाहिए।

Pyghidra हेडलेस मोड का उदाहरण

root@kitploit:~
docker run \
    --env MODE=pyghidra \
    --rm \
    --volume /path/to/myproject:/myproject \
    --volume /path/to/mybinary:/mybinary \
    ghidra/ghidra:<version> -H \
    /myproject programFolder -import /mybinary

pyghidra हेडलेस विश्लेषक को कोई तर्क पारित न करने पर सहायता मेनू प्रदर्शित होगा, ठीक हेडलेस विश्लेषक की तरह।

यह उपयोग मामला हेडलेस मोड के उदाहरण के समान है, जिसमें Ghidra स्क्रिप्ट के लिए python3 का उपयोग करने का अतिरिक्त लाभ है।

फिर से, इस उदाहरण में, अनुमति संबंधी समस्याओं से बचने के लिए /path/to/myproject और /path/to/mybinary के लिए उपयुक्त अनुमतियाँ और समूह असाइनमेंट आवश्यक हैं।

टूल डाउनलोड करें
ghidra/ghidra
<version>
  • /home/ghidra/myproject programFolder -import /home/ghidra/mybinary Ghidra के हेडलेस विश्लेषक के कमांड लाइन इंटरफ़ेस को पारित किए जा रहे तर्क हैं