Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
diaphora-mcp — MCP सर्वर स्वचालित बाइनरी डिफिंग के लिए। | Kitploit
उपकरण/GitHubGitHub/xteardx/diaphora-mcp
स्थैतिक विश्लेषणभेद्यता विश्लेषणरिवर्स इंजीनियरिंगडीबगर्सफज़िंगबाइनरी विश्लेषणबाइनरी शोषण
GitHubxteardx/diaphora-mcp

diaphora-mcp

MCP सर्वर स्वचालित बाइनरी डिफिंग के लिए।

रिपॉजिटरी देखें
173862 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

Читать на русском языке

Diaphora MCP

Diaphora MCP बाइनरी डिफिंग के लिए एक MCP (मॉडल कॉन्टेक्स्ट प्रोटोकॉल) सर्वर है। यह MCP प्रोटोकॉल के माध्यम से Diaphora (डिफिंग इंजन) और IDA Pro (डिसअसेंबलर) को जोड़ता है, जिससे AI एजेंट (जैसे Claude Code) बाइनरी फ़ाइलों की तुलना कर सकते हैं, सुरक्षा पैच ढूंढ सकते हैं और परिवर्तनों का विश्लेषण कर सकते हैं।

विशेषताएँ

  • निर्यात: विश्लेषित .i64 / .idb डेटाबेस को Diaphora SQLite प्रारूप में परिवर्तित करता है (idat.exe हेडलेस मोड के माध्यम से)
  • डिफिंग: दो निर्यातित डेटाबेस की तुलना करता है, मिलान प्रकार और अनुपात द्वारा परिणामों को फ़िल्टर करता है
  • भेद्यता विश्लेषण: कीवर्ड मिलान और अनुमानों का उपयोग करके सुरक्षा-संबंधित परिवर्तनों की खोज करता है
  • पैच का पता लगाना: स्वचालित रूप से नए बाउंड्स चेक, नल चेक, त्रुटि हैंडलिंग और क्रिप्टोग्राफ़िक परिवर्तनों का पता लगाता है
  • रैंकिंग: CFG, जटिलता छलांग और सुरक्षा संकेतकों के आधार पर महत्व के अनुसार परिवर्तित फ़ंक्शनों को रैंक करता है
  • कॉल ग्राफ़: कॉल पथों की तुलना करता है (BFS, अधिकतम N स्तर), और कॉल कैस्केड में मूल-कारण परिवर्तनों का पता लगाता है
  • मेटाडेटा स्थानांतरण: डेटाबेस के बीच स्थानांतरण के लिए नाम, टिप्पणियाँ और प्रोटोटाइप तैयार करता है
  • IDA Pro MCP एकीकरण: सभी उपकरण ऐसे पते और डेटाबेस पथ लौटाते हैं जो सीधे IDA Pro MCP उपकरणों को पास किए जा सकते हैं

स्थापना

1. निर्भरताएँ

  • Python 3.10+
  • IDA Pro 8.x / 9.x (हेडलेस निर्यात के लिए idat.exe के माध्यम से)
  • Diaphora प्लगइन IDA में स्थापित
  • Claude Code (या कोई अन्य MCP-संगत क्लाइंट)

2. पैकेज स्थापना

git clone https://github.com/xTeardx/diaphora-mcp.git
cd diaphora-mcp
pip install -e .

3. पथ विन्यास

पैकेज मानक स्थापना स्थानों में IDA Pro और Diaphora को स्वचालित रूप से खोजने का प्रयास करता है। यदि नहीं मिलता है, तो आप निम्न पर्यावरण चर सेट कर सकते हैं:

चरविवरणउदाहरण
IDAT_PATHidat.exe का पूर्ण पथC:\Program Files\IDA Pro 9.3\idat.exe
DIAPHORA_DIRdiaphora.py वाला फ़ोल्डरC:\Program Files\IDA Pro 9.3\plugins\diaphora-3.4.1
DIAPHORA_OUTPUT_ROOTनई निर्यात फ़ाइलों के लिए अनुमत रूट निर्देशिकाD:\\diaphora-outputs
DIAPHORA_PYTHONडिफ के लिए Python दुभाषिया/usr/bin/python3 (डिफ़ॉल्ट sys.executable)

Claude Code के लिए, आप उन्हें ~/.claude.json (या अपने MCP क्लाइंट के संबंधित कॉन्फ़िग फ़ाइल) में निर्दिष्ट कर सकते हैं:

{
  "mcpServers": {
    "diaphora": {
      "command": "python",
      "args": ["path/to/repo/diaphora_mcp_server.py"],
      "env": {
        "IDAT_PATH": "C:\\Program Files\\IDA Pro 9.3\\idat.exe",
        "DIAPHORA_DIR": "C:\\Program Files\\IDA Pro 9.3\\plugins\\diaphora-3.4.1"
      },
      "timeout": 7200
    }
  }
}

नोट: बहुत बड़े बाइनरी (>100 MB) के लिए, सुनिश्चित करें कि timeout कम से कम 7200 (2 घंटे) हो।

3.1. Codex और हेडलेस IDA MCP

Codex आमतौर पर दो पूरक MCP सर्वरों का उपयोग करता है:

  • diaphora-mcp — यह परियोजना: निर्यात, Diaphora डिफ, और परिणाम विश्लेषण;
  • ida-pro-mcp — idb_open, डिकम्पाइलेशन, और पता-स्तर विश्लेषण के लिए अपस्ट्रीम IDA निरीक्षण सर्वर।

idalib-mcp ida-pro-mcp का हेडलेस बैकएंड है, कोई अलग Diaphora सर्वर नहीं। इसे स्थापित करने के बाद, Codex को पुनः प्रारंभ करें:

uv run ida-pro-mcp --install codex --transport streamable-http --scope global --ida-rpc http://127.0.0.1:8745/mcp

इस परियोजना के लिए, एक stdio कॉन्फ़िगरेशन पर्याप्त है:

[mcp_servers.diaphora-mcp]
command = "python"
args = ["D:\\path\\to\\diaphora-mcp\\diaphora_mcp_server.py"]
startup_timeout_sec = 120

4. डिफिंग के लिए डेटाबेस तैयार करना

IDA Pro को पहले बाइनरी का विश्लेषण करना होगा (.i64 या .idb फ़ाइलें बनाते हुए)। उसके बाद:

┃ export_idb_to_diaphora(idb_path="old_version.i64")
┃ export_idb_to_diaphora(idb_path="new_version.i64")

या एक कमांड में पूरी पाइपलाइन चलाएँ:

┃ batch_export_and_diff(idb1="old.i64", idb2="new.i64")

.i64 को सीधे परिणाम उपकरणों में पास न करें: यह IDA डेटाबेस है, SQLite नहीं। पहले इसे निर्यात करें।

त्वरित आरंभ

┃ # 1. पूर्ण पाइपलाइन: दो .i64 निर्यात करें → डिफ़ → सारांश रिपोर्ट
┃ batch_export_and_diff(idb1="v1.0.i64", idb2="v1.1.i64")
 
┃ # 2. यदि डेटाबेस पहले से निर्यातित हैं
┃ diff_diaphora_dbs(db1="v1.0.sqlite", db2="v1.1.sqlite")
 
┃ # 3. डिफ़ परिणामों का सुरक्षा विश्लेषण
┃ analyze_diff_results(results_path="v1.0_vs_v1.1.diaphora")
 
┃ # 4. परिवर्तनों की महत्व रैंकिंग
┃ rank_changes(results_path="v1.0_vs_v1.1.diaphora", top_n=20)
 
┃ # 5. मूल-कारण परिवर्तन खोजें
┃ find_patch_root(results_path="v1.0_vs_v1.1.diaphora")
 
┃ # 6. संभावित सुरक्षा पैच का पता लगाएं
┃ detect_security_patches(results_path="v1.0_vs_v1.1.diaphora")
 
┃ # 7. पूर्ण रिपोर्ट उत्पन्न करें
┃ summarize_patch(results_path="v1.0_vs_v1.1.diaphora")

उदाहरण (लाइव सत्र प्रतिलेख)

वास्तविक Diaphora MCP सत्र का पूर्ण चरण-दर-चरण प्रतिलेख देखने के लिए examples/basic-session.md देखें — दो IDB डेटाबेस निर्यात करने से लेकर व्यक्तिगत फ़ंक्शनों की तुलना करने तक। रूसी में भी उपलब्ध है।

यहाँ सर्वर द्वारा लौटाए गए परिणाम की एक झलक है:

इनपुट — दो SQLite3 DLLs की तुलना करें (2015 बनाम 2023):

{"idb1_path": "old.i64", "idb2_path": "new.i64", "use_decompiler": false}

आउटपुट — निर्यात + डिफ़ के बाद सारांश:

{
  "best_matches": 60,
  "partial_matches": 993,
  "multimatches": 52,
  "unmatched_primary": 2647
}

सत्र 6 MCP उपकरण कॉलों के माध्यम से चलता है, प्रत्येक चरण के लिए सटीक JSON इन/आउट दिखाता है, साथ ही एजेंट का तर्क भी।

एकल डेटाबेस की जाँच करना

┃ # डेटाबेस निर्यात जानकारी प्राप्त करें
┃ get_export_info(db_path="app.sqlite")
 
┃ # फ़ंक्शन खोजें
┃ search_export_db(db_path="app.sqlite", name_pattern="%crypt%", min_instructions=50)
 
┃ # स्यूडोकोड पुनर्प्राप्त करें
┃ get_function_pseudocode(db_path="app.sqlite", address="401000")

परियोजना संरचना

diaphora-mcp/
├── diaphora_mcp_server.py          # मुख्य प्रवेश बिंदु
├── diaphora_mcp/
│   ├── diaphora_mcp_server.py      # MCP उपकरण पंजीकरण
│   ├── config.py                   # पथ विन्यास और स्वतः-पता लगाना
│   ├── models.py                   # स्थिरांक और मॉडल
│   ├── core/
│   │   ├── export.py               # हेडलेस निर्यात, बैच पाइपलाइन
│   │   ├── diff.py                 # डिफिंग और .diaphora परिणाम पाठक
│   │   ├── analysis.py             # फ़ंक्शन खोज, तुलना, व्याख्या
│   │   ├── security.py             # कीवर्ड मिलान, पैच का पता लगाना
│   │   ├── ranking.py              # महत्व रैंकिंग
│   │   ├── graph.py                # कॉलग्राफ, BFS कॉल ट्री, मूल कारण
│   │   ├── metadata.py             # मेटाडेटा तैयारी (नाम, टिप्पणियाँ)
│   │   └── report.py               # समग्र पैच रिपोर्ट उत्पादन
│   └── utils/
│       ├── sqlite.py               # SQLite सहायक
│       ├── format.py               # स्यूडोकोड डिफ, फीचर वेक्टर निष्कर्षण
│       └── log.py                  # निर्यात लॉगिंग उपयोगिताएँ
├── _diaphora_headless.py           # idat.exe -S पतली आवरण
└── logs/                           # स्वचालित निर्यात लॉग (गतिशील रूप से बनाए गए)

MCP उपकरण संदर्भ (21 उपकरण)

निर्यात

उपकरणविवरण
export_idb_to_diaphoraIDA हेडलेस का उपयोग करके .i64/.idb डेटाबेस को SQLite प्रारूप में निर्यात करता है
batch_export_and_diffपूर्ण पाइपलाइन: प्राथमिक निर्यात → द्वितीयक निर्यात → डिफ़ → सारांश

डिफ़

उपकरणविवरण
diff_diaphora_dbsदो निर्यातित Diaphora SQLite डेटाबेस की तुलना करता है
get_diff_resultsफ़िल्टरिंग के साथ .diaphora डिफ़ फ़ाइल पढ़ता है
get_diff_summaryमिलान आँकड़े लौटाता है
टूल डाउनलोड करें