Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

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

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
डीबगर्स
मालवेयर विश्लेषण
CTF
मोबाइल सुरक्षा
बाइनरी विश्लेषण
लर्निंग और शिक्षा
AI-सहायित रिवर्सिंग
फर्मवेयर विश्लेषण
बाइनरी शोषण
AI-सहायित रिवर्सिंग में शीर्ष #5
एंड्रॉइड सुरक्षा में शीर्ष #15
बाइनरी विश्लेषण में शीर्ष #1
बाइनरी शोषण में शीर्ष #8
कोड विश्लेषण में शीर्ष #5
CTF में शीर्ष #13
डीबगर्स में शीर्ष #8
गतिशील विश्लेषण (सैंडबॉक्सिंग) में शीर्ष #18
एम्बेडेड सिस्टम सुरक्षा में शीर्ष #8
फर्मवेयर विश्लेषण में शीर्ष #8
मालवेयर विश्लेषण में शीर्ष #7
मेमोरी फोरेंसिक में शीर्ष #18
मोबाइल ऐप पेंटेस्टिंग में शीर्ष #18
मोबाइल सुरक्षा में शीर्ष #18
रिवर्स इंजीनियरिंग में शीर्ष #1
स्थैतिक विश्लेषण में शीर्ष #1
GitHubnationalsecurityagency/ghidra

ghidra

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

रिपॉजिटरी देखेंवेबसाइट
साझा करें
# डॉकरीकृत Ghidra

## निर्माण

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

```
./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>` निष्पादित करके आसानी से किया जा सकता है।

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

```
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>` डॉकर छवि का पूर्ण संदर्भ है, जहाँ `ghidra/ghidra` छवि का समूह और नाम है, और `<version>` टैग है।
- `/home/ghidra/myproject programFolder -import /home/ghidra/mybinary` Ghidra के हेडलेस विश्लेषक के कमांड लाइन इंटरफ़ेस को पारित किए जा रहे तर्क हैं

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

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

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

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

```
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 सर्वर मोड का उदाहरण

```
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 सर्वर मोड का उदाहरण

```
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 मोड का उदाहरण
```
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 डॉकरीकृत अनुप्रयोगों के लिए विशिष्ट उपयोग मामला नहीं हैं।

```
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 हेडलेस मोड का उदाहरण

```
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` के लिए उपयुक्त अनुमतियाँ और समूह असाइनमेंट आवश्यक हैं।
टूल डाउनलोड करें