Ghidra में इंटरैक्टिव रिवर्स इंजीनियरिंग सहायता के लिए एक उन्नत LLM-संचालित प्लगइन।
विवरण
GhidrAssist, Ghidra में Large Language Models (LLMs) को एकीकृत करता है ताकि बाइनरी अन्वेषण और रिवर्स इंजीनियरिंग के लिए बुद्धिमान सहायता प्रदान की जा सके। यह किसी भी OpenAI v1-संगत API का समर्थन करता है, जिसमें स्थानीय मॉडल (Ollama, LM-Studio, Open-WebUI) और क्लाउड प्रदाता (OpenAI, Anthropic, Azure) शामिल हैं।
मुख्य विशेषताएँ
मुख्य कार्यक्षमता:
कोड स्पष्टीकरण - डिसअसेंबली और डीकंपाइल्ड स्यूडो-C दोनों में फ़ंक्शन और निर्देशों की व्याख्या करें
जोखिम स्तर, गतिविधि प्रोफ़ाइल और API उपयोग दिखाने वाला सुरक्षा विश्लेषण पैनल
स्वतः अधिलेखन से उपयोगकर्ता-संपादन सुरक्षा के साथ संपादन योग्य सारांश
इंटरैक्टिव चैट - स्थायी चैट इतिहास के साथ बहु-चरणीय संवादात्मक क्वेरी
कस्टम क्वेरीज़ - वर्तमान फ़ंक्शन/स्थान से वैकल्पिक संदर्भ के साथ सीधी LLM क्वेरी
Graph-RAG ज्ञान प्रणाली:
सिमेंटिक नॉलेज ग्राफ़ - बाइनरी विश्लेषण का पदानुक्रमित प्रतिनिधित्व
OpenAI: o1-preview, o1-mini, o3-mini, o4-mini, gpt-5 (reasoning_effort पैरामीटर का उपयोग करें)
Anthropic: Claude Sonnet 4.5, Claude Opus 4.5, Claude Haiku 4.5, Claude Opus 4.1/4, Claude Sonnet 4 (thinking.budget_tokens पैरामीटर का उपयोग करें)
स्थानीय: Ollama/LMStudio के माध्यम से openai/gpt-oss-20b (प्रयास स्तरों का समर्थन करता है)
तर्क प्रयास दिशानिर्देश:
Low: त्वरित विश्लेषण, न्यूनतम सोच टोकन (~5-10s, कम लागत)
Medium: संतुलित तर्क गहराई (~15-30s, मध्यम लागत)
High: गहन सुरक्षा विश्लेषण (~30-60s, 2x लागत, भेद्यता खोज के लिए अनुशंसित)
नोट: एजेंटिक मोड के लिए मजबूत फ़ंक्शन कॉलिंग और बहु-चरणीय तर्क क्षमताओं वाले मॉडल की आवश्यकता होती है। छोटे मॉडल जटिल जांच में संघर्ष कर सकते हैं। विस्तारित सोच वैकल्पिक है लेकिन जटिल रिवर्स इंजीनियरिंग कार्यों के लिए विश्लेषण गुणवत्ता में काफी सुधार कर सकती है।
टूल-आधारित विश्लेषण के लिए GhidrAssistMCP का उपयोग
GhidrAssistMCP MCP टूल प्रदान करता है जो LLM को Ghidra की विश्लेषण क्षमताओं के साथ सीधे इंटरैक्ट करने की अनुमति देता है।
सर्वर जोड़ें: http://127.0.0.1:8081 को GhidrAssistMCP के रूप में SSE ट्रांसपोर्ट प्रकार के साथ
क्वेरी में MCP सक्षम करें:
Custom Query टैब में, "Use MCP" चेक करें
स्वायत्त जांच मोड के लिए वैकल्पिक रूप से "Agentic" सक्षम करें
उपयोग मोड
नियमित MCP क्वेरी:
"Use MCP" चेकबॉक्स सक्षम करें
"वर्तमान फ़ंक्शन क्या करता है?" जैसे प्रश्न पूछें
LLM डीकंपिलेशन, क्रॉस-रेफरेंस आदि प्राप्त करने के लिए टूल कॉल कर सकता है
एजेंटिक मोड (अनुशंसित):
"Use MCP" और "Agentic" दोनों चेकबॉक्स सक्षम करें
"इस फ़ंक्शन में भेद्यताएँ खोजें" या "कॉल ग्राफ़ का विश्लेषण करें" जैसे जटिल प्रश्न पूछें
ReAct एजेंट निम्न कार्य करेगा:
टूडू सूची के रूप में जांच चरण प्रस्तावित करना
जानकारी एकत्र करने के लिए व्यवस्थित रूप से टूल निष्पादित करना
प्रगति ट्रैक करना और निष्कर्ष संचित करना
साक्ष्य के साथ व्यापक उत्तर संश्लेषित करना
उदाहरण क्वेरी:
"इस फ़ंक्शन में कौन-सी सुरक्षा भेद्यताएँ मौजूद हैं?"
"उपयोगकर्ता इनपुट से इस कॉल तक डेटा प्रवाह का पता लगाएं"
"ग्लोबल वेरिएबल X को संशोधित करने वाले सभी फ़ंक्शन खोजें"
"वर्तमान फ़ंक्शन में त्रुटि हैंडलिंग का विश्लेषण करें"
सिमेंटिक ग्राफ़ का उपयोग (Graph-RAG)
सिमेंटिक ग्राफ़ टैब हर क्वेरी के लिए LLM कॉल की आवश्यकता के बिना बाइनरी विश्लेषण परिणामों का अन्वेषण करने के लिए एक नॉलेज ग्राफ़ इंटरफ़ेस प्रदान करता है।
आरंभ करना
बाइनरी को अनुक्रमित करें:
सिमेंटिक ग्राफ़ टैब खोलें
संरचनात्मक संबंध निकालने के लिए "ReIndex Binary" पर क्लिक करें
LLM सारांश उत्पन्न करने के लिए "Semantic Analysis" पर क्लिक करें (API की आवश्यकता है)
प्रगति स्टेटस बार में दिखाई जाती है
ग्राफ़ का अन्वेषण करें:
सूची दृश्य: सारांश और सुरक्षा फ़्लैग के साथ सभी अनुक्रमित फ़ंक्शन ब्राउज़ करें
ग्राफ़ दृश्य: कॉन्फ़िगर करने योग्य N-हॉप गहराई के साथ कॉल संबंधों को विज़ुअलाइज़ करें
खोज दृश्य: सारांश और सुरक्षा एनोटेशन में फुल-टेक्स्ट खोज
सुरक्षा विश्लेषण:
सुरक्षा-प्रासंगिक फ़ीचर स्कैन करने के लिए "Security Analysis" पर क्लिक करें
परिणामों में शामिल हैं: नेटवर्क APIs, फ़ाइल I/O, क्रिप्टो उपयोग, स्ट्रिंग पैटर्न
जोखिम स्तर (LOW/MEDIUM/HIGH) पहचानी गई सुविधाओं के आधार पर निर्धारित किए जाते हैं
Explain टैब एकीकरण
Explain टैब में किसी फ़ंक्शन को देखते समय:
यदि फ़ंक्शन अनुक्रमित है, तो पूर्व-गणना किया गया सारांश तुरंत दिखाया जाता है
सुरक्षा पैनल प्रदर्शित करता है: जोखिम स्तर, गतिविधि प्रोफ़ाइल, उपयोग किए गए APIs
सारांश संशोधित करने के लिए "Edit" पर क्लिक करें (स्वतः अधिलेखन से सुरक्षित)
LLM के साथ सारांश पुनः उत्पन्न करने के लिए "Refresh" का उपयोग करें
लाभ
तेज़ क्वेरी: पूर्व-गणना किए गए सारांश बार-बार की क्वेरी के लिए LLM विलंबता को समाप्त करते हैं
ऑफ़लाइन विश्लेषण: API कनेक्टिविटी के बिना अनुक्रमित डेटा ब्राउज़ करें
सुरक्षा फोकस: सुरक्षा-प्रासंगिक कोड पैटर्न का स्वचालित पता लगाना
मॉड्यूल खोज: कम्युनिटी डिटेक्शन संबंधित फ़ंक्शन को स्वचालित रूप से समूहित करता है