واجهة REST محلية آمنة، وCLI، وMCP، وجسر وكيل لـ IDA Pro 9.x
طبقة تحكم مستقلة للذكاء الاصطناعي وMCP لـ IDA Pro 9.x
حوّل IDA Pro إلى قوة هندسة عكسية وكيلية. اربط Claude Desktop أو Cursor أو Antigravity أو وكلاء LLM المخصصين عبر بروتوكول سياق النموذج (MCP) أو واجهة REST API عالية الأداء.
┌─────────────────────────────────────────────────────────┐
│ IDA Pro 9.x │
│ ph4ntom_ida_bridge.py (102 REST Endpoints) │
│ 127.0.0.1:13370 (Bearer Token Protected) │
└────────────────────────────┬────────────────────────────┘
│ REST / JSON / SSE
┌────────────────────────────────┼───────────────────────────────┐
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ MCP Server │ │ CLI / SDK │ │ AI Agents │
│ 54 Tools │ │ `ph4ntom-ida`│ │ Multi-LLM │
│ Claude │ │ Automation │ │ Gemini │
│ Cursor │ │ Headless │ │ Ollama │
│ Antigravity │ │ Testing │ │ Claude / GPT │
└───────────────┘ └───────────────┘ └───────────────┘
ph4ntom IDA Bridge هي طبقة تحكم محلية (localhost فقط) لـ IDA Pro 9.x. وهي تجمع بين إضافة IDA مكتفية ذاتيًا، وواجهة برمجة تطبيقات JSON REST، وعميل Python، وواجهة سطر أوامر (CLI)، و54 أداة MCP أصلية، وخلفيات ذكاء اصطناعي اختيارية مستقلة.
يجلب الإصدار 6.2.0 توافقًا كاملًا مع IDA 9.3، وتعديلات ذرية لقاعدة البيانات، ومصادقة رمزية بزمن ثابت، وتتبع مؤشر SSE، وتغطية كاملة لمجموعة الاختبارات.
اربط Claude Desktop أو Cursor أو أي عميل MCP بنسخة IDA Pro قيد التشغيل لديك في 60 ثانية:
git clone https://github.com/ph4ntom-rev/ph4ntom-ida-bridge.git
cd ph4ntom-ida-bridge
python -m pip install -e ".[mcp]"
python cli.py install-plugin --ida-dir "C:\Program Files\IDA Professional 9.0"
(أو انسخ ida_plugin/ph4ntom_ida_bridge.py و api_schema.json مباشرةً إلى دليل plugins/ الخاص بـ IDA).
حرّر %APPDATA%\Claude\claude_desktop_config.json (Windows) أو ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{
"mcpServers": {
"ida-bridge": {
"command": "python",
"args": [
"C:/path/to/ph4ntom-ida-bridge/mcp_server.py"
]
}
}
}
أضف إلى .cursor/mcp.json أو Cursor Settings → MCP:
{
"mcpServers": {
"ida-bridge": {
"command": "python",
"args": ["-m", "mcp_server"],
"cwd": "C:/path/to/ph4ntom-ida-bridge"
}
}
}
ابدأ IDA Pro، واضغط Ctrl+Shift+A لتبديل الخادم، ثم اطلب من مساعد الذكاء الاصطناعي الخاص بك:
"افحص الدالة عند 0x140001000. تتبّع الإحالات المتبادلة، وحلّل microcode، وفكّك إلى pseudocode بلغة C، وأعد تسمية المتغيرات المشوّشة إلى أسماء ذات معنى."
| الميزة | ph4ntom IDA Bridge | Gepetto / IDAGPT | Hex-Rays Copilot |
|---|---|---|---|
| البنية | MCP ثنائي الاتجاه + REST + CLI | غلاف مطالبة واحد | إضافة واجهة مستخدم مملوكة |
| عدد الأدوات | 54 أداة MCP دقيقة | 1 (مطالبة فك التجميع) | إجراءات مطالبة ثابتة |
| AST وتدفق التحكم | شجرة ctree AST كاملة + Microcode IR (0-7) | نص pseudocode فقط | نص pseudocode فقط |
| التعديلات الآمنة | تعديلات دفعية ذرّية مع التراجع | إدراج تعليقات فقط | اقتراحات في واجهة المستخدم |
| المصحّح المباشر | السجلات، المكدس، الذاكرة، نقاط التوقف | لا | لا |
| التنفيذ الديناميكي | محرك تنفيذ IDAPython الفوري | لا | لا |
| نماذج LLM المدعومة | أي عميل MCP / Claude / GPT / Gemini / Ollama | OpenAI API فقط | سحابة مملوكة |
| الأمان والمصادقة | localhost فقط، رمز 256-bit، Owner DACL | مفتاح API مكشوف بنص صريح | مملوك |
| دعم IDA Pro 9.3 | موثّق ومُختبَر بالكامل | معطّل على IDA 9+ | رسمي |
يكشف خادم MCP عن 54 أداة مخصّصة عبر 7 مجالات لهندسة العكس:
| الفئة | الأدوات | الوصف |
|---|---|---|
| 🔍 الملف الثنائي والمقاطع | ping, get_binary_info, list_segments, read_bytes, read_vtable | بيانات وصفية للملف الثنائي، عدد البتات، الأذونات، استخراج vtable |
| 🧩 فك التجميع وAST | decompile, get_disassembly, get_ctree, get_microcode, get_local_variables, get_function_details | pseudocode بلغة C من Hex-Rays، AST ctree بصيغة JSON، Microcode IR (0=PREOPT إلى 7=LVARS)، معلومات النموذج الأولي |
| 🕸️ الرسوم البيانية للاستدعاء والإحالات المتبادلة | get_xrefs_to, get_xrefs_from, get_callers, get_callees, get_call_graph, get_basic_blocks, get_strings_used | الإحالات المتبادلة، أشجار المستدعين العودية، تدفق التحكم للكتل الأساسية |
| 🔎 البحث والاستكشاف | search_function, search_bytes, search_text, list_strings, list_names, list_imports, list_exports | بحث البايتات بأحرف البدل (??)، دوال DLL المستوردة، الصادرات، تصفية النصوص |
| 🏷️ الأنواع والبنى | list_structs, get_struct, list_enums, list_types, get_type, create_type, create_struct | تحليل تعريفات C، تعريفات البنى، فحص أعضاء التعدادات |
| ✏️ تعديل قاعدة البيانات | rename_function, comment_function, set_inline_comment, rename_variable, set_variable_type, set_function_type, patch_bytes, batch_mutations, undo, redo, save_database, navigate_to | إعادة تسمية موثّقة، تحديد أنواع المتغيرات المحلية، ترقيع الملف الثنائي، تراجع ذرّي |
| 🐞 المصحّح المباشر | dbg_start, dbg_set_breakpoint, dbg_continue, dbg_step_into, dbg_step_over, dbg_get_registers, dbg_read_memory, dbg_get_stack | التحكم في تنفيذ العملية، نقاط التوقف العتادية، تفريغ السجلات والذاكرة المباشر |
| ⚡ IDAPython الديناميكي | execute_idapython | تنفيذ IDAPython في الوقت الفعلي مع التقاط result بشكل منظّم |
| 📦 موارد MCP | ida://info, ida://schema | بيانات وصفية للملف الثنائي في الوقت الفعلي ومخطط OpenAPI كامل |
يعمل الجسر داخل IDA Pro، مما يمنح قدرات قوية. يطبّق الإصدار 6 إعدادات افتراضية للدفاع متعدد الطبقات: