
OGhidra, Ollama के माध्यम से Large Language Models (LLMs) को Ghidra रिवर्स इंजीनियरिंग प्लेटफ़ॉर्म से जोड़ता है, जो प्राकृतिक भाषा के माध्यम से AI-संचालित बाइनरी विश्लेषण को सक्षम बनाता है। वार्तालापीय प्रश्नों का उपयोग करके Ghidra के साथ बातचीत करें और जटिल रिवर्स इंजीनियरिंग वर्कफ़्लो को स्वचालित करें।
क्लॉड-प्रेरित ऑर्केस्ट्रेटर का उपयोग करने वाले संस्करण के लिए, देखें https://github.com/llnl/OGhidra/tree/orchestrator
OGhidra बड़े भाषा मॉडलों को Ghidra के रिवर्स इंजीनियरिंग प्लेटफॉर्म से जोड़ता है, जिससे प्राकृतिक भाषा के माध्यम से AI-संचालित बाइनरी विश्लेषण संभव होता है। बातचीत के माध्यम से बाइनरी का विश्लेषण करें, जटिल वर्कफ़्लो को स्वचालित करें, और स्थानीय AI मॉडलों के साथ पूर्ण गोपनीयता बनाए रखें।
YouTube सेटअप ट्यूटोरियल
OGhidra Ghidra को AI क्षमताओं के साथ बढ़ाता है, जिससे आप यह कर सकते हैं:
graph TD
A[User Query] --> B[Planning Phase]
B --> C{Execution Phase}
C -- Tool Calls --> D[Ghidra/LLM]
D --> C
C --> E[Review Phase]
E -- Agentic Loop --> B
E --> F[Final Response]
style E fill:#f9f,stroke:#333,stroke-width:2px
style B fill:#bbf,stroke:#333,stroke-width:2px
एजेंटिक लूप: OGhidra एक अनुकूली योजना प्रणाली का उपयोग करता है। प्रत्येक निष्पादन चक्र के बाद, परिणामों की समीक्षा की जाती है और AI अंतिम प्रतिक्रिया देने से पहले अधिक जानकारी एकत्र करने या अपने विश्लेषण को परिष्कृत करने का निर्णय ले सकता है।
python --versionjava -version# रिपॉजिटरी क्लोन करें
git clone https://github.com/LLNL/OGhidra.git
cd OGhidra
# निर्भरताएँ स्थापित करें (एक चुनें)
uv sync # UV का उपयोग करके (अनुशंसित)
pip install -r requirements.txt # pip का उपयोग करके
# वातावरण कॉन्फ़िगर करें
cp .env.example .env
# अपनी सेटिंग्स के साथ .env संपादित करें
नीचे दिए गए OGhidraMCP प्लगइन बिल्ड चरण Ghidra 12.0.3 (अनुशंसित) को लक्षित करते हैं। YouTube वीडियो ट्यूटोरियल भी है: https://www.youtube.com/watch?v=hBD92FUgR0Y
एक डेवलपर के रूप में, आपको इसे Ghidra में स्थापित करने से पहले GhidraMCP एक्सटेंशन बनाना होगा:
पूर्वापेक्षाएँ:
विकल्प 1: स्वचालित बिल्ड स्क्रिप्ट का उपयोग करके:
विंडोज़:
# अपने Ghidra इंस्टॉलेशन का पथ सेट करें (यदि सेट नहीं किया गया है तो Ghidra की अंतिम चलाई गई प्रतिलिपि खोजने का प्रयास करेगा)
set GHIDRA_INSTALL_DIR=C:\path\to\ghidra_12.0.3_PUBLIC
# बिल्ड स्क्रिप्ट चलाएं
build_ghidra_plugin.bat
Unix/Linux/Mac:
# अपने Ghidra इंस्टॉलेशन का पथ सेट करें (यदि सेट नहीं किया गया है तो Ghidra की अंतिम चलाई गई प्रतिलिपि खोजने का प्रयास करेगा)
export GHIDRA_INSTALL_DIR=/path/to/ghidra_12.0.3_PUBLIC
# बिल्ड स्क्रिप्ट चलाएं (यदि आवश्यक हो तो पहले इसे निष्पादन योग्य बनाएं)
chmod +x build_ghidra_plugin.sh
./build_ghidra_plugin.sh
विकल्प 2: मैन्युअल बिल्ड प्रक्रिया:
अपने Ghidra इंस्टॉल पथ के साथ OGhidraMCP/gradle.properties बनाएं/अपडेट करें:
GHIDRA_INSTALL_DIR=/absolute/path/to/ghidra_12.0.3_PUBLIC
Unix/Linux/macOS पर:
cd OGhidraMCP
$GHIDRA_INSTALL_DIR/support/gradle/gradlew buildExtension --info
विंडोज़ पर:
cd OGhidraMCP
"%GHIDRA_INSTALL_DIR%\support\gradle\gradlew.bat" buildExtension --info
बनाए गए एक्सटेंशन का पता लगाएं:
OGhidraMCP/dist/ में बनाई गई हैghidra_12.0.3_PUBLIC_YYYYMMDD_OGhidraMCP.zipएक बार जब आप सफलतापूर्वक एक्सटेंशन बना लें:
Ghidra में स्थापित करें:
OGhidraMCP/dist/ निर्देशिका पर ब्राउज़ करेंghidra_12.0.3_PUBLIC_YYYYMMDD_OGhidraMCP.zip)प्लगइन सक्षम करें:
OGhidraMCP प्लगइन सक्षम करेंhttp://localhost:8080/methods पर प्रारंभ होगाआपके पास कोड ब्राउज़र खुला होना चाहिए
# Ollama के लिए (स्थानीय मॉडल)
ollama pull gemma3:27b # अच्छा संतुलन (20GB RAM)
ollama pull nomic-embed-text # RAG के लिए एम्बेडिंग मॉडल
# वैकल्पिक मॉडल
ollama pull gpt-oss:120b # उच्च गुणवत्ता (80GB RAM)
ollama pull devstral-2:123b # उच्च गुणवत्ता (80GB RAM)
ollama pull devstral-2:123b-cloud # क्लाउड मॉडल
# GUI मोड (अनुशंसित)
uv run main.py --ui
# इंटरैक्टिव CLI
uv run main.py --interactive
# इंटरैक्टिव CLI में, कनेक्शन का परीक्षण करें
health
यदि आपने GUI मोड लॉन्च किया है, तो इसका उपयोग करें:
curl http://localhost:8080/methods
अपने AI प्रदाता को कॉन्फ़िगर करने के लिए .env संपादित करें:
LLM_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434/
OLLAMA_MODEL=gemma3:27b
OLLAMA_EMBEDDING_MODEL=nomic-embed-text
LLM_PROVIDER=external
EXTERNAL_PROVIDER=google
EXTERNAL_API_KEY=your-api-key-here
EXTERNAL_MODEL=gemini-3.1-flash-lite-preview
EXTERNAL_EMBEDDING_MODEL=gemini-embedding-001
LLM_PROVIDER=custom_api
CUSTOM_API_URL=https://api.example.com/v1/chat/completions
CUSTOM_API_KEY=your-api-key-here
CUSTOM_API_MODEL=your-model-name
CUSTOM_API_EMBEDDING_MODEL=your-embedding-model
अपने मॉडल के संदर्भ विंडो के अनुसार समायोजित करें:
# टोकन में संदर्भ बजट (अपने मॉडल की सीमा के अनुसार समायोजित करें)
CONTEXT_BUDGET=100000 # मध्यम आकार के मॉडलों के लिए 100K टोकन
# फ्रंटियर मॉडलों के लिए 200K+
# निष्पादन सेटिंग्स
MAX_EXECUTION_STEPS=5 # प्रति योजना चक्र कदम
MAX_AGENTIC_CYCLES=3 # कितने योजना-निष्पादन-समीक्षा लूप
AGENTIC_LOOP_ENABLED=true # अनुकूली पुनर्नियोजन सक्षम करें
एक क्लिक से सामान्य रिवर्स इंजीनियरिंग कार्यों तक पहुंच: