विंडोज एक्जीक्यूटेबल्स और बाइनरी फॉर्मेट्स के रिवर्स इंजीनियरिंग के लिए MCP सर्वर। यह स्टैटिक ट्राइएज, Ghidra-सहायता प्राप्त फंक्शन रिकवरी, प्लगइन-संचालित टूलिंग, आर्टिफैक्ट प्रबंधन, और वैकल्पिक पृथक विंडोज रनटाइम निष्पादन को जोड़ता है।
Rikune एक MCP सर्वर है जो विंडोज एक्जीक्यूटेबल्स और संबंधित बाइनरी प्रारूपों के रिवर्स इंजीनियरिंग के लिए है। यह सैंपल इनटेक, स्टैटिक ट्राइएज, Ghidra-सहायता प्राप्त फंक्शन रिकवरी, प्लगइन-संचालित विशेषज्ञ टूलिंग, आर्टिफैक्ट प्रबंधन, और वैकल्पिक पृथक विंडोज रनटाइम निष्पादन को Model Context Protocol इंटरफ़ेस के पीछे संयोजित करता है।
वर्तमान AI-मुखी सर्वर वर्कफ़्लो एक न्यूनतम गेटवे सतह के चारों ओर व्यवस्थित है:
workflow.search का उपयोग करें।workflow.run action=request_upload का उपयोग करें, या पीछे के क्लाइंट को छिपे हुए सैंपल-इनटेक संगतता टूल पर इंगित करने के लिए workflow.search को दें।sample_id के साथ workflow.run action=start का उपयोग करें।workflow.run action=status और workflow.run action=promote का उपयोग करें।artifact.read का उपयोग करें।sample.*, workflow.analyze.*, workflow.triage, tools.discover, और task.status संगतता या निम्न-स्तरीय निरीक्षण के लिए पंजीकृत रहते हैं, लेकिन नए क्लाइंट को workflow.search, workflow.run, और artifact.read पसंद करना चाहिए।
रिमोट rikune-agent गेटवे के माध्यम से कनेक्ट करते समय, MCP क्लाइंट स्थिर ट्रांसपोर्ट नाम देखते हैं:
workflow_search, workflow_run, artifact_read, rikune_tool_call, और
rikune_connection_* नियंत्रण। rikune_connection_refresh केवल आंतरिक अपस्ट्रीम क्षमता कैश को अपडेट करता है; यह MCP टूल सूची का विस्तार नहीं करता है। rikune_tool_call का उपयोग केवल तभी करें जब workflow_search किसी विशिष्ट आंतरिक विश्लेषक उप-टूल की पहचान करता है जो प्राथमिक वर्कफ़्लो या आर्टिफैक्ट गेटवे द्वारा कवर नहीं किया गया है।
workflow.search हर टूल को पहले से उजागर किए बिना विशेषज्ञ क्षमताओं की ओर रूट करने के लिए सैंपल प्रकार, निष्कर्ष, और प्रोफ़ाइल मेटाडेटा का उपयोग करता है।स्थैतिक Docker सबसे सुरक्षित डिफ़ॉल्ट है। यह सैंपल निष्पादित नहीं करता है।
.\rikune.ps1 install -Profile static -DataRoot "D:\Docker\rikune"
./rikune.sh install --profile static --data-root "$HOME/.rikune"
मैन्युअल समतुल्य:
npm install
npm run build
npm run docker:generate:all
docker compose --env-file .docker-runtime.env -f docker-compose.analyzer.yml up -d --build analyzer
हाइब्रिड मोड विश्लेषक को Docker में चलाता है और लाइव विंडोज कार्य को विंडोज होस्ट एजेंट को सौंपता है। होस्ट एजेंट मांग पर विंडोज सैंडबॉक्स शुरू कर सकता है या कॉन्फ़िगर किए गए Hyper-V VM को नियंत्रित कर सकता है।
.\rikune.ps1 install -Profile hybrid -InstallRuntime
रिमोट विंडोज रनटाइम होस्ट के साथ Linux/macOS से:
./rikune.sh install --profile hybrid --windows-host <windows-host> --windows-user <windows-user>
MCP क्लाइंट को कनेक्ट करने से विंडोज सैंडबॉक्स शुरू नहीं होता है या सैंपल नहीं चलता है। लाइव रनटाइम कार्य तभी शुरू होता है जब कोई टूल स्पष्ट रूप से इसका अनुरोध करता है, जैसे runtime.debug.session.start, runtime.debug.command, sandbox.execute, या एक प्रमोटेड डायनेमिक निष्पादन चरण।
npm install
npm run build
npm test
node dist/index.js
रूट पैकेज के लिए Node.js 22 या नए की आवश्यकता है। कुछ रनटाइम उप-पैकेज पुराने Node संस्करणों पर चल सकते हैं, लेकिन रिपॉजिटरी विकास और प्रकाशित रूट CLI के लिए Node 22+ का उपयोग करना चाहिए।
जब भी अनुरोधित वर्कफ़्लो, फ़ाइल प्रकार, या बैकएंड स्पष्ट नहीं है, तो workflow.search से शुरू करें। यह छिपे हुए विशेषज्ञ टूल को सक्रिय किए बिना मिलान करने वाले प्रोफ़ाइल को रैंक करता है और कॉम्पैक्ट तैयारी/रूटिंग संकेत लौटाता है।
होस्ट फ़ाइलों के लिए, workflow.run action=request_upload कॉल करें, लौटाए गए अपलोड URL पर कच्चे बाइट्स POST करें, फिर HTTP प्रतिक्रिया से sample_id पढ़ें। sample.request_upload और sample.ingest सामान्य AI-मुखी पथ के बजाय संगतता सहायक हैं।
रिमोट विश्लेषक या rikune-agent परिनियोजन के लिए, API_PUBLIC_BASE_URL, RIKUNE_API_PUBLIC_BASE_URL, या RIKUNE_ANALYZER_PUBLIC_URL को क्लाइंट-पहुंच योग्य HTTP API बेस पर सेट करें, उदाहरण के लिए http://159.195.136.226:18080। अपलोड सत्र तब कंटेनर-स्थानीय localhost URL के बजाय सार्वजनिक upload_url / status_url मान लौटाते हैं। रिमोट गेटवे पुराने विश्लेषकों से localhost अपलोड URL को अपने कॉन्फ़िगर किए गए विश्लेषक एंडपॉइंट पर सामान्यीकृत भी करता है।
यदि HTTP API सक्षम है, तो गैर-MCP एकीकरण के लिए POST /api/v1/samples अभी भी उपलब्ध है। सफल इनटेक एक sample_id लौटाता है; आयात के बाद विश्लेषण को स्थानीय पथ के बजाय sample_id का उपयोग करना चाहिए।
sample_id के साथ workflow.run action=start कॉल करें। पहला चरण एक तेज़ प्रोफ़ाइल करता है और एक विश्लेषण रन बनाता है या पुन: उपयोग करता है। लौटाया गया plan_id स्थायी विश्लेषण रन से मैप होता है।
गहरे चरणों का अनुरोध करने के लिए workflow.run action=promote का उपयोग करें। पाइपलाइन वर्तमान में इन चरणों को मॉडल करती है:
fast_profileenrich_staticfunction_mapreconstructsemantic_reviewsdynamic_plandynamic_executesummarizeलंबे समय तक चलने वाले कार्य को जॉब सिस्टम के माध्यम से कतारबद्ध किया जाता है। workflow.run action=status के साथ कॉम्पैक्ट स्टेज की स्थिति का पोल करें।
workflow.run action=status प्राथमिक स्टेज-रन दृश्य है। बड़े ऐतिहासिक चरण पेलोड को शीर्ष-स्तरीय चेतावनी के साथ छंटनी की जा सकती है; पूर्ण आर्टिफैक्ट के लिए artifact.read का उपयोग करें। task.status एक कच्चा कतार/प्रक्रिया संगतता दृश्य है और इसमें विश्लेषक उप-प्रक्रियाओं के लिए external_active_* मेमोरी टेलीमेट्री शामिल है।
उपयोगी अनुवर्ती सतहें:
workflow.searchworkflow.runanalysis.context.getartifact.read, साथ ही संगतता आर्टिफैक्ट सहायक जैसे artifact.list, artifact.diff, और artifact.downloadreport.summarize, report.generate, workflow.summarizeworkflow.semantic_name_reviewworkflow.function_explanation_reviewworkflow.module_reconstruction_reviewtool.help, tool.readiness, और संगतता/डीबग निरीक्षण के लिए tools.discoverवर्तमान कोड पथ है:
src/index.ts
-> loadConfig()
-> WorkspaceManager / DatabaseManager / PolicyGuard / CacheManager / StorageManager / JobQueue
-> optional RuntimeClient or Windows sandbox bootstrap
-> registerAllTools()
-> MCP stdio server
मुख्य सर्वर मॉड्यूल src/core/ के अंतर्गत रहते हैं: