خادم MCP لهندسة عكسية للملفات التنفيذية لنظام ويندوز وتنسيقات ثنائية. يجمع بين الفحص الثابت، واستعادة الوظائف بمساعدة Ghidra، وأدوات قابلة للتوسع عبر الإضافات، وإدارة القطع الأثرية، وتنفيذ اختياري في بيئة ويندوز معزولة.
ريكون هو خادم MCP لهندسة عكسية للملفات القابلة للتنفيذ في ويندوز وتنسيقات ثنائية ذات صلة. يجمع بين إدخال العينات، التقييم الثابت، استرداد الوظائف بمساعدة Ghidra، أدوات متخصصة تعتمد على الإضافات، إدارة القطع الأثرية، وتنفيذ وقت تشغيل ويندوز معزول اختياريًا عبر واجهة بروتوكول سياق النموذج.
يتم تنظيم سير عمل الخادم الحالي الموجه للذكاء الاصطناعي حول سطح بوابة بسيط:
workflow.search لترتيب الملفات الشخصية وسير العمل والقدرات المتخصصة المتطابقة لنوع الملف وهدف المستخدم.workflow.run action=request_upload لتحميل ملفات المضيف، أو دع workflow.search يوجه العملاء القدامى إلى أدوات توافق إدخال العينات المخفية.workflow.run action=start مع sample_id المعاد.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 ويفوض عمل ويندوز المباشر إلى وكيل مضيف ويندوز. يمكن للوكيل المضيف تشغيل Windows Sandbox عند الطلب أو التحكم في VM Hyper-V مهيأة.
.\rikune.ps1 install -Profile hybrid -InstallRuntime
من Linux/macOS مع مضيف ويندوز عن بعد:
./rikune.sh install --profile hybrid --windows-host <windows-host> --windows-user <windows-user>
ربط عميل MCP لا يبدأ Windows Sandbox أو يشغل عينة. يبدأ عمل وقت التشغيل المباشر فقط عندما تطلبه أداة صراحة، مثل runtime.debug.session.start أو runtime.debug.command أو sandbox.execute أو مرحلة تنفيذ ديناميكي مرقّاة.
npm install
npm run build
npm test
node dist/index.js
الحزمة الجذرية تتطلب Node.js 22 أو أحدث. بعض حزم وقت التشغيل الفرعية يمكن تشغيلها على إصدارات أقدم من Node، لكن التطوير في المستودع وواجهة سطر الأوامر الجذرية المنشورة يجب أن تستخدم Node 22+.
ابدأ بـ workflow.search كلما كان سير العمل المطلوب أو نوع الملف أو الخلفية غير واضحة. ترتب الملفات الشخصية المتطابقة وتعيد تلميحات توجيه/جاهزية مضغوطة دون تفعيل الأدوات المتخصصة المخفية.
بالنسبة لملفات المضيف، اتصل بـ workflow.run action=request_upload، ثم أرسل البايتات الخام إلى عنوان URL للتحميل المعاد، ثم اقرأ sample_id من استجابة HTTP. sample.request_upload و sample.ingest هما أدوات مساعدة للتوافق وليس المسار الطبيعي الموجه للذكاء الاصطناعي.
بالنسبة لنشر المحلل عن بعد أو rikune-agent، قم بتعيين API_PUBLIC_BASE_URL أو RIKUNE_API_PUBLIC_BASE_URL أو RIKUNE_ANALYZER_PUBLIC_URL إلى قاعدة واجهة HTTP القابلة للوصول من العميل، مثل http://159.195.136.226:18080. ثم تعيد جلسات التحميل قيم upload_url / status_url عامة بدلاً من عناوين localhost المحلية للحاوية. كما تقوم البوابة عن بعد بتطبيع عناوين تحميل localhost من المحللين الأقدم إلى نقطة نهاية المحلل المهيأة.
إذا كانت واجهة HTTP API مفعلة، فإن POST /api/v1/samples لا يزال متاحاً للتكاملات غير MCP. الإدخال الناجح يعيد sample_id؛ يجب أن يستخدم التحليل sample_id، وليس مساراً محلياً، بعد الاستيراد.
اتصل بـ workflow.run action=start مع sample_id. تقوم المرحلة الأولى بعمل ملف تعريف سريع وإنشاء أو إعادة استخدام تشغيل تحليل. 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 أو تهيئة Windows sandbox
-> registerAllTools()
-> MCP stdio server
توجد وحدات الخادم الأساسية تحت src/core/:
| المنطقة | الملف الحالي |
|---|---|
| غلاف خادم MCP | src/core/server.ts |
| سجل الأدوات/الاستبانات/الموارد MCP | src/core/mcp-registry.ts |
| تنفيذ الأدوات والتحقق والخطافات | src/core/tool-executor.ts |
| تنسيق السجل | src/core/tool-registry.ts |
| أجزاء السجل المدمجة | src/core/tool-registry/*.ts |
| واجهة مدير الإضافات | src/core/plugins.ts |
| اكتشاف/تحميل الإضافات | src/core/plugin-orchestrator.ts |
| كشف الأدوات التدريجي | src/core/tool-surface-manager.ts |
تظل بعض الملفات على المستوى الجذر مثل src/server.ts و src/tool-registry.ts و src/plugins.ts موجهات توافق. يجب أن تستهدف الشيفرة الجديدة src/core/*.