1 पॉइंट द्वारा GN⁺ 2026-02-06 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Ghidra MCP Server एक Model Context Protocol(MCP) सर्वर है, जो Ghidra की reverse engineering क्षमताओं को AI और automation frameworks से जोड़ता है
  • 110 MCP टूल्स और 132 endpoints के माध्यम से function analysis, data structure exploration, string extraction जैसी व्यापक binary analysis क्षमताएँ प्रदान करता है
  • Batch processing, atomic transactions, real-time analysis को सपोर्ट करता है, और Docker deployment तथा headless mode में चलाया जा सकता है
  • Cross-binary documentation transfer फीचर के जरिए अलग-अलग binary versions के बीच function documentation को अपने-आप match करता है
  • यह AI-आधारित reverse engineering workflows को production-grade stability के साथ लागू करने के लिए एक platform है

अवलोकन

  • Ghidra MCP Server एक production-grade MCP server है, जो Ghidra के analysis engine को AI tools और automation systems से जोड़ता है
    • यह Model Context Protocol का पूर्ण implementation करता है और AI models के साथ interaction को सपोर्ट करता है
    • यह Ghidra की क्षमताओं को HTTP REST और MCP protocol (stdio/SSE) के जरिए expose करता है

प्रमुख विशेषताएँ

  • Core MCP integration
    • MCP के साथ पूर्ण compatibility, 110 MCP टूल्स, batch operations और atomic transactions का support
    • Ghidra के analysis engine के साथ real-time integration
  • Binary analysis
    • function decompilation, call graphs, cross-references, data structure auto-generation
    • string extraction, symbol table analysis, memory mapping, और Cross-binary documentation transfer फीचर शामिल
  • Development और automation
    • build-test-deploy-verify automation pipeline
    • Ghidra scripts का creation, execution और management, multi-program comparison, bulk renaming और annotation

इंस्टॉलेशन और रन

  • जरूरी prerequisites: Java 21 LTS, Apache Maven 3.9+, Ghidra 12.0.2, Python 3.8+
  • इंस्टॉलेशन प्रक्रिया
    • repository clone करने के बाद Python dependencies install करें
    • Ghidra libraries की 14 files कॉपी करके Maven से build करें
    • plugin को Ghidra extension folder में deploy करें
  • रन करने के तरीके
    • Stdio transport (default, AI tools के लिए) या SSE transport (Web/HTTP clients के लिए) चुनें
    • Ghidra के भीतर Tools > GhidraMCP > Start MCP Server चलाएँ

प्रदर्शन और स्थिरता

  • 110 MCP टूल्स का पूर्ण implementation, और अधिकांश operations में 1 सेकंड से कम response time
  • batch operations architecture के जरिए API calls में 93% कमी
  • सभी operations atomic transactions के रूप में process होते हैं, जिससे reliability सुनिश्चित होती है
  • version-aware automated deployment scripts उपलब्ध

API संरचना

  • Core operations: connection check, metadata lookup, version info, entry point exploration
  • Function analysis: function list, name search, decompilation, call relationship graph, documentation completeness evaluation
  • Memory और data: segment list, disassembly, cross-references, memory content inspection
  • Cross-binary documentation: function hash generation, documentation export/apply, hash-based matching
  • Data type management: struct और enum creation, field modification, duplicate type merge
  • Symbol और label management: import/export list, string analysis, namespace और global variable management
  • Renaming और annotation: function, data और variable renaming, bulk comment setting
  • Type system: function prototype definition, variable type setting, calling convention lookup
  • Ghidra script management: script list, execution, save, modify, delete
  • Multi-program support: open programs switch करना, project file list, document comparison
  • Analysis tools: undefined functions खोज, string-based search, byte pattern खोज

आर्किटेक्चर

  • AI/Automation tools ↔ MCP Bridge ↔ Ghidra Plugin संरचना
    • bridge_mcp_ghidra.py: MCP protocol को HTTP calls में बदलने वाला Python server
    • GhidraMCP.jar: Ghidra features को HTTP पर expose करने वाला Java plugin
    • ghidra_scripts/: 70 से अधिक automation scripts शामिल

विकास और बिल्ड

  • Maven-आधारित build और PowerShell deployment scripts उपलब्ध
  • project structure में Python server, Java plugin, Ghidra libraries, docs, examples, build scripts शामिल हैं
  • 14 आवश्यक libraries (लगभग 37MB) को Ghidra installation path से कॉपी करना आवश्यक
  • automated deployment, batch operations, atomic transactions, और detailed logging फीचर्स शामिल

दस्तावेज़ और AI workflow

  • docs/ folder में पूरा documentation, project structure, naming conventions, और Hungarian notation शामिल
  • AI workflow prompts: function documentation, version-to-version matching, और quick-start prompts उपलब्ध
  • Release history: CHANGELOG.md और docs/releases में version-wise detailed notes शामिल

लाइसेंस और स्थिति

  • Apache License 2.0 लागू
  • version 2.0.0, 110 MCP टूल्स का पूर्ण implementation, और 70 से अधिक Ghidra scripts शामिल
  • Production environment deployment के लिए तैयार, AI-आधारित reverse engineering के लिए उपयुक्त

संबंधित प्रोजेक्ट्स

  • re-universe: PostgreSQL-आधारित large-scale binary similarity analysis platform
  • cheat-engine-server-python: dynamic memory analysis और debugging के लिए MCP server

आभार

  • Ghidra टीम, Model Context Protocol developers, और community contributors को धन्यवाद

1 टिप्पणियां

 
GN⁺ 2026-02-06
Hacker News की राय
  • अलग-अलग versions के software का reverse engineering करना इतना दर्दनाक था कि यह project बनाया गया
    इसकी core चीज़ एक normalized function hashing system है, जो function की logical structure (instructions, operands, control flow) के आधार पर hash बनाता है
    इसकी वजह से binary दोबारा build हो या rebase हो, वही function वही hash रखता है, और सभी comments, types, और names अपने-आप migrate हो जाते हैं
    इसमें Ghidra के लिए MCP bridge के साथ 110 tools शामिल हैं, और इसे Claude, Claude Code, या दूसरे MCP clients के साथ integrate किया जा सकता है
    इसे Diablo II के कई patch versions पर verify किया गया, और 1,300 से ज़्यादा function comments अपने-आप migrate किए जा सके
    Docker-based headless mode से CI integration भी संभव है
    v2.0.0 में localhost-only binding, timeout settings, label deletion, .env config जैसी चीज़ें जोड़ी गई हैं
    hashing approach या MCP design पर चर्चा का स्वागत है

    • यह जानने की जिज्ञासा है कि Ghidra के default FunctionID या BinDiff plugin की तुलना में इसमें क्या अलग है
    • यह ReVa के मुकाबले कैसा है, यह जानना चाहता हूँ
      install guide अधूरी लगती है। Ghidra में install करके restart किया, लेकिन Tools menu में GhidraMCP दिखाई नहीं दे रहा
    • मैंने खुद इसे इस्तेमाल करने की कोशिश की, लेकिन Ghidra plugin को पहचान नहीं रहा
      क्या GH Discussions सही communication channel है?
    • यह दूसरे Ghidra MCP servers (pyghidra-mcp, ReVa, GhidrAssistMCP आदि) से कैसे अलग है, यह जानना चाहता हूँ
    • क्या Android binaries के decompile support की सुविधा है?
  • मैंने LaurieWired का Ghidra MCP server इस्तेमाल किया है, और binary analysis तथा keygen बनाना बहुत मज़ेदार और आसान था
    यह MCP server भी ज़रूर इस्तेमाल करूँगा

    • एक software जो मैंने पहले बनाया था, वह authentication के लिए ऐसे server को request भेजता था जो अब मौजूद नहीं है, इसलिए install करना संभव नहीं था, और मैंने खुद Ghidra MCP बनाने की कोशिश की लेकिन असफल रहा
      ऐसे timing पर इस project का सामने आना दिलचस्प है
    • यह branch LaurieWired/GhidraMCP के main से 110 commits आगे है
  • कंपनी के एक सहकर्मी को Claude के साथ Ghidra इस्तेमाल करके River Ride game hack करते देखा, तो मैंने भी कोशिश की
    मैंने PowerPC के लिए बने एक पुराने game को Apple Silicon पर port किया, और कई MCP आज़माए, लेकिन Claude Code अक्सर code गढ़ देता था
    आखिर में Cursor + GPT 5.2 Codex के headless mode से सबसे अच्छे नतीजे मिले

    • मैं भी reverse engineering पर experiment कर रहा हूँ, और GPT-5.2 Codex Claude से कहीं बेहतर है
      उदाहरण के लिए, इसने 1,300-line की C64-SID file को 30 मिनट में पूरी तरह restore कर दिया
      अभी मैं पूरे C64 game की reverse engineering के लिए एक multi-agent system बना रहा हूँ
      example code देखें
  • AI के ज़रिये reverse engineering को कम आंका जा रहा है
    मैंने Android app से encryption key extraction में सफलता पाई, जहाँ key shader के अंदर छिपी हुई थी और उसे पाने के लिए shader को वास्तव में चलाना पड़ता था

    • मैंने एक दोस्त के साथ एक पुराना Unity game Claude को दिया, और उसने उसका पूरा TypeScript port बना दिया
      अब हम browser में multiplayer feature जोड़ रहे हैं
    • shader से key निकालने की बात दिलचस्प लगी। क्या इसके बारे में और विस्तार से बता सकते हैं?
    • मैंने भी MCP और कई tools को जोड़कर binary से source code restore और vulnerability detection की कोशिश की, और नतीजा असली source से लगभग मेल खाता था
  • मैं LaurieWired के 15-tool version को कई महीनों से इस्तेमाल कर रहा हूँ, और ऐसा लगता है जैसे app की internal structure पूरी तरह पारदर्शी दिखने लगी हो
    bug tracking, plugin बनाना, और app modification तक संभव है
    Objective-C code के लिए मैं Hopper Disassembler भी साथ में इस्तेमाल करता हूँ
    संबंधित paper: Full recompilation with LLMs and Ghidra

    • app reverse engineering को OSS के बराबर मानना, GitHub employee के तौर पर, मुझे अच्छा प्रभाव नहीं देता
  • LLM के साथ reverse engineering वाकई कम आंकी गई है
    मैं 30 साल पुराने game को restore कर रहा हूँ, और Ghidra decompile output तथा symbol information को RAG तरीके से model को देने पर चौंकाने वाले नतीजे मिलते हैं
    Gemini 3 Flash जैसे low-cost models भी काफ़ी उपयोगी हैं

    • लेकिन Gemini कभी-कभी अधूरा pseudocode बनाता है
      function के कुछ हिस्से छोड़ देता है या switch block के अंदर सिर्फ comments छोड़ता है
      वहीं Claude Opus या Qwen3-30B-A3B कहीं ज़्यादा complete code देते हैं
      Gemini का बड़ा context window एक फ़ायदा है, लेकिन PCode की verbosity की वजह से व्यवहार में अभी भी सीमाएँ हैं
  • मुझे लगा था MCP में बहुत ज़्यादा tools जोड़ने से performance गिरती है, इसलिए यह अच्छा design नहीं लगता

    • आजकल lazy loading से MCP tools की समस्या कुछ हद तक हल की जाती है
      फिर भी API transformation-केंद्रित tools की LLM के साथ compatibility कम रहती है
    • vibecoded आधारित skill-type tools कहीं ज़्यादा efficient लगते हैं
  • मैं reverse engineer नहीं हूँ, लेकिन Claude Code और Ghidra MCP का इस्तेमाल करके मैंने ransomware decryptor को बेहतर बनाया
    कई terabytes data recover करने पर सच में ऐसा लगा जैसे कोई superpower मिल गई हो

    • इस पर मज़ाक सुनने को मिला: “उस superpower से encryptor को और भरोसेमंद भी बना सकते थे, है ना?”
  • मुझे लगता है AI binary analysis में अतिमानवीय क्षमता दिखा सकता है
    अभी यह low-productivity और boring काम है, लेकिन AI की मदद से इसे security audit या supply-chain attack defense में भी इस्तेमाल किया जा सकता है

    • सही बात है, और AI खुद का analysis भी कर सकता है
      MOOLLM का “skill-snitch” दूसरे skills के behavior पर नज़र रखता है, और “cursor-mirror” Cursor की internal state को पूरी तरह देखता है
      ऐसे skills एक-दूसरे के साथ combination और recursive calls में काम कर सकते हैं, और MCP से कहीं तेज़ “speed of light” तरीके से चलते हैं
      संबंधित सामग्री: Leela MOOLLM Demo Transcript, speed-of-light skill, skill-snitch report
  • यह CLI-based क्यों नहीं बनाया गया, यह जानना चाहता हूँ। आजकल LLMs और agents शायद CLI को बेहतर संभालते हैं

    • मुझे लगता है यह तभी सही है जब CLI training data में शामिल हो। अगर tool नया है, तो वैसे भी पूरा documentation context में डालना पड़ेगा
    • यह project उस समय शुरू हुआ था जब MCP context को ज़रूरत से ज़्यादा भरने से पहले का दौर था (LaurieWired/GhidraMCP)
    • हाल के Claude Code जैसे tools अब tool-search आधारित loading को support करते हैं, इसलिए MCP का context burden काफ़ी कम हो गया है
    • मेरी भी यही राय है। अगर 110 tools के descriptions हमेशा context में रहेंगे, तो सिर्फ noise बढ़ेगा