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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Ghidrathon — Ghidra में Python 3 स्क्रिप्टिंग जोड़ने के लिए FLARE टीम का ओपन-सोर्स एक्सटेंशन। | Kitploit
उपकरण/GitHubGitHub/mandiant/ghidrathon
रिवर्स इंजीनियरिंगस्क्रिप्टिंग और स्वचालनमालवेयर विश्लेषणबाइनरी विश्लेषणArchived
GitHubmandiant/ghidrathon

Ghidrathon

Ghidra में Python 3 स्क्रिप्टिंग जोड़ने के लिए FLARE टीम का ओपन-सोर्स एक्सटेंशन।

रिपॉजिटरी देखें
788652 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

Ghidrathon

GitHub Release GitHub Downloads (all assets, latest release) CI License

Ghidrathon एक Ghidra एक्सटेंशन है जो Ghidra में Python 3 स्क्रिप्टिंग क्षमताएँ जोड़ता है। क्यों? Ghidra मूल रूप से Java और Jython में स्क्रिप्टिंग का समर्थन करता है। दुर्भाग्य से, कई ओपन-सोर्स विश्लेषण उपकरण, जैसे capa, Unicorn Engine, angr, आदि, Python 3 में लिखे गए हैं, जिससे इन उपकरणों को Ghidra में उपयोग करना कठिन और कुछ मामलों में असंभव हो जाता है। इसके अलावा, सुरक्षा समुदाय ने IDA Pro और Binary Ninja जैसे अन्य SRE फ्रेमवर्क के लिए कई बेहतरीन प्लगइन जारी किए हैं, लेकिन फिर से, क्योंकि इनमें से कई प्लगइन Python 3 का उपयोग करते हैं, उन्हें Ghidra में पोर्ट करना कठिन है। Ghidrathon आपको Ghidra में मौजूदा Python 3 टूलिंग का उपयोग करने और नई टूलिंग विकसित करने में मदद करता है, और आधुनिक Python का उपयोग करके Ghidra को स्क्रिप्ट करने में सहायता करता है, जो Ghidra के UI के साथ कसकर एकीकृत होता है। यह Jython के माध्यम से कार्यान्वित मौजूदा Python 2.7 एक्सटेंशन को प्रतिस्थापित करता है। इसमें इंटरैक्टिव इंटरप्रेटर विंडो, Ghidra Script Manager के साथ एकीकरण, और Ghidra हेडलेस मोड में स्क्रिप्ट निष्पादन शामिल है।

example

कृपया Ghidra के लिए Python 3 स्क्रिप्ट लिखने के बारे में अधिक जानकारी के लिए हमारा Ghidra Python 3 स्क्रिप्ट उदाहरण यहाँ देखें।

देखें:

  • हमारे पहले Ghidrathon ब्लॉग पोस्ट में अवलोकन

Ghidrathon स्थापित करना

आवश्यकताएँ

अपने Ghidra वातावरण में Ghidrathon स्थापित करने के लिए निम्नलिखित चरणों का उपयोग करें:

  1. नवीनतम Ghidrathon रिलीज़ डाउनलोड करें और अनज़िप करें
  2. उस Python इंटरप्रेटर का उपयोग करके निम्नलिखित कमांड निष्पादित करें जिसे आप Ghidrathon के साथ उपयोग करना चाहते हैं (requirements.txt और ghidrathon_configure.py रिलीज़ में शामिल हैं):
root@kitploit:~
$ python -m pip install -r requirements.txt
$ python ghidrathon_configure.py <absolute_path_to_ghidra_install_dir>

नोट: ghidrathon_configure.py डिफ़ॉल्ट रूप से <absolute_path_to_ghidra_install_dir> में ghidrathon.save नामक फ़ाइल लिखने का प्रयास करता है। ghidrathon_configure.py और Ghidra चलाने से पहले GHIDRATHON_SAVE_PATH पर्यावरण चर सेट करके आप उस पथ को निर्दिष्ट कर सकते हैं जहाँ यह फ़ाइल लिखी जाती है:

root@kitploit:~
$ export GHIDRATHON_SAVE_PATH="/path/to/custom/dir" # Linux/MacOS
$ set GHIDRATHON_SAVE_PATH="C:\path\to\custom\dir"  # Windows

नोट: आपको JAVA_HOME नामक पर्यावरण चर सेट करने के लिए संकेत दिया जा सकता है। यह उस JDK के निरपेक्ष पथ को संदर्भित करना चाहिए जिसे आपने अपने Ghidra इंस्टॉल के लिए कॉन्फ़िगर किया है।

  1. Ghidrathon एक्सटेंशन (.zip) को Ghidra में स्थापित करें:
    • Ghidra के UI का उपयोग करके:
      • File > Install Extensions... पर जाएँ
      • हरे + बटन पर क्लिक करें
      • Ghidrathon एक्सटेंशन (.zip) पर जाएँ
      • Ok पर क्लिक करें
      • वैकल्पिक
        • यदि Extension Version Mismatch विंडो द्वारा संकेत दिया जाए तो Install Anyway चुनें
    • सीमित वातावरण का उपयोग करके:
      • Ghidrathon एक्सटेंशन (.zip) को <absolute_path_to_ghidra_install_dir>\Ghidra\Extensions में निकालें

Python इंटरप्रेटर बदलना

आप नए Python इंटरप्रेटर का उपयोग करके चरण 2 निष्पादित करके Ghidrathon को भिन्न Python इंटरप्रेटर का उपयोग करने के लिए बदल सकते हैं।

Python वर्चुअल वातावरण का उपयोग करना

आप वर्चुअल वातावरण से चरण 2 निष्पादित करके Ghidrathon के साथ Python वर्चुअल वातावरण का उपयोग कर सकते हैं। किसी भिन्न वर्चुअल वातावरण में स्विच करने के लिए, बस नए वर्चुअल वातावरण से चरण 2 निष्पादित करें।

Ghidrathon का उपयोग करना

Python 3 इंटरप्रेटर विंडो

इंटरप्रेटर विंडो आपके Python 3 इंटरप्रेटर तक इंटरैक्टिव पहुँच प्रदान करती है। इंटरप्रेटर विंडो खोलने के लिए "Window" पर क्लिक करें और "Ghidrathon" चुनें।

example

Ghidra Script Manager एकीकरण

Ghidrathon सीधे Ghidra Script Manager के साथ एकीकृत होता है, जिससे आप Ghidra के भीतर Python 3 स्क्रिप्ट बना सकते हैं, संपादित कर सकते हैं और निष्पादित कर सकते हैं। नई Python 3 स्क्रिप्ट बनाने के लिए "Create New Script" पर क्लिक करें और "Python 3" चुनें। अपनी Python 3 स्क्रिप्ट निष्पादित करने के लिए "Run Script" या "Run Editors's Script" पर क्लिक करें और स्क्रिप्ट आउटपुट के लिए Ghidra Console विंडो देखें।

example

Ghidra हेडलेस मोड

Ghidrathon आपको Ghidra हेडलेस मोड में Python 3 स्क्रिप्ट निष्पादित करने में मदद करता है। अपने Ghidra इंस्टॉलेशन फ़ोल्डर में स्थित analyzeHeadless स्क्रिप्ट निष्पादित करें, अपनी Python 3 स्क्रिप्ट निर्दिष्ट करें, और स्क्रिप्ट आउटपुट के लिए कंसोल विंडो देखें।

root@kitploit:~
$ analyzeHeadless C:\Users\wampus example -process example.o -postScript ghidrathon_example.py
[...]
INFO  SCRIPT: C:\Users\wampus\.ghidra\.ghidra_10.0.3_PUBLIC\Extensions\Ghidrathon-master\ghidra_scripts\ghidrathon_example.py (HeadlessAnalyzer)
Function _init @ 0x101000: 3 blocks, 8 instructions
Function FUN_00101020 @ 0x101020: 1 blocks, 2 instructions
Function __cxa_finalize @ 0x101040: 1 blocks, 2 instructions
Function printf @ 0x101050: 1 blocks, 2 instructions
Function _start @ 0x101060: 1 blocks, 13 instructions
Function deregister_tm_clones @ 0x101090: 4 blocks, 9 instructions
Function register_tm_clones @ 0x1010c0: 4 blocks, 14 instructions
Function __do_global_dtors_aux @ 0x101100: 5 blocks, 14 instructions
[...]
INFO  REPORT: Post-analysis succeeded for file: /example.o (HeadlessAnalyzer)
INFO  REPORT: Save succeeded for processed file: /example.o (HeadlessAnalyzer)

Ghidra को हेडलेस मोड में चलाने के बारे में अधिक जानकारी के लिए <absolute_path_to_ghidra_install_dir>/support/analyzeHeadlessREADME.html देखें।

तृतीय-पक्ष Python मॉड्यूल

Ghidrathon विकसित करने के हमारे सबसे बड़े उद्देश्यों में से एक Ghidra में तृतीय-पक्ष Python 3 मॉड्यूल के उपयोग को सक्षम करना था। आप एक मॉड्यूल स्थापित कर सकते हैं और इसे Ghidra के अंदर उसी तरह उपयोग करना शुरू कर सकते हैं जैसे आप एक सामान्य Python सेटअप में करते हैं। यह उन मॉड्यूल पर भी लागू होता है जिन्हें आपने पहले स्थापित किया है। उदाहरण के लिए, हम Ghidra के अंदर ARM कोड का अनुकरण करने के लिए Unicorn स्थापित और उपयोग कर सकते हैं।

example

Ghidra Python 3 स्क्रिप्ट लिखना

Ghidrathon एक स्क्रिप्टिंग अनुभव प्रदान करता है जो Ghidra के Java और Jython एक्सटेंशन के निकट दर्पण करता है, जिसमें GhidraScript स्थिति उदाहरण चर, जैसे currentProgram, और FlatProgramAPI विधियाँ, जैसे findBytes Python builtins दायरे में उपलब्ध कराना शामिल है। इसका मतलब है कि आपके कोड द्वारा आयात किए गए सभी Python मॉड्यूल इन चर और विधियों तक पहुँच रखते हैं। Ghidrathon, GhidraScript स्थिति चर को सीधे एक्सेस के बजाय Python फ़ंक्शन कॉल के रूप में उजागर करके Ghidra के Java और Jython एक्सटेंशन से थोड़ा भिन्न होता है, उदाहरण के लिए आपके Python 3 कोड को currentProgram तक पहुँचने के लिए फ़ंक्शन कॉल currentProgram() का उपयोग करना चाहिए। यह छोटा परिवर्तन सुनिश्चित करता है कि निष्पादन के दौरान आपके Python 3 कोड को सही GhidraScript स्थिति चर प्रदान किए जाएँ। कृपया Ghidra के लिए Python 3 स्क्रिप्ट लिखने के बारे में अधिक जानकारी के लिए हमारा Ghidra Python 3 स्क्रिप्ट उदाहरण यहाँ देखें।

यह कैसे काम करता है?

Ghidrathon आपके स्थानीय Python इंस्टॉलेशन को ओपन-सोर्स प्रोजेक्ट Jep का उपयोग करके Ghidra से जोड़ता है। अनिवार्य रूप से, आपका स्थानीय Python इंटरप्रेटर आपके सभी Python पैकेजों और मानक Ghidra स्क्रिप्टिंग API तक पहुँच के साथ Ghidra के अंदर चल रहा है। Ghidrathon Python वर्चुअल वातावरण के साथ भी काम करता है, जिससे आप उन पैकेजों को बना, अलग और प्रबंधित कर सकते हैं जिन्हें आप केवल Ghidra में उपयोग के लिए स्थापित करना चाहते हैं। चूँकि Ghidrathon आपके स्थानीय Python इंस्टॉलेशन का उपयोग करता है, इसलिए आपके पास Ghidra के अंदर चलने वाले Python संस्करण और वातावरण पर नियंत्रण होता है।

Jep द्वारा Java में Python एम्बेड करने के तरीके के बारे में अधिक जानकारी के लिए उनका दस्तावेज़ यहाँ देखें।

विचार

Ghidrathon ओपन-सोर्स लाइब्रेरी Jep का उपयोग करता है, जो Python को JVM में एम्बेड करने के लिए Java Native Interface (JNI) का उपयोग करती है। Ghidra डेवलपर, यहाँ चर्चा किए गए कारणों से Ghidra में JNI के उपयोग के खिलाफ सलाह देते हैं।

टूल डाउनलोड करें
उपकरणसंस्करणस्रोत
Ghidrathon>= 4.0.0https://github.com/mandiant/Ghidrathon/releases
Python>= 3.8.0https://www.python.org/downloads
Jep== 4.2.0https://pypi.org/project/jep
Ghidra>= 10.3.2https://github.com/NationalSecurityAgency/ghidra/releases
Java>= 17.0.0https://adoptium.net/temurin/releases