واجهة رسومية بلغة Python لتشغيل capemon في جهاز افتراضي مستقل. توفر مجموعة فرعية من معالجة ونتائج CAPE (Configuration And Payload Extraction).
- أنشئ جهازًا افتراضيًا بنظام Windows 10 مناسبًا لتشغيل البرمجيات الخبيثة.
- ثبّت Python في الجهاز الافتراضي، تم اختباره على إصدارات Python 64-bit 3.11 و3.12 و3.12. أضف Python إلى المسار.
- نزّل وثبّت كلاً من Microsoft Visual C++ Redistributables:
- ثبّت CAPEsolo.
- خذ لقطة (snapshot) لجهازك الافتراضي.
بدء سريع
- افتح نافذة أوامر بصلاحيات المسؤول.
- اكتب capesolo للتشغيل.
بدلاً من ذلك، أنشئ اختصارًا لـ CAPEsolo.exe،
والذي سيكون في المجلد الفرعي Scripts في نفس موقع ملف python.exe الخاص بك.
- ضمن Advanced، حدّد 'Run as administrator'
- يتوفر ملف أيقونة في مجلد تثبيت CAPEsolo ضمن site-packages.
توجد نتائج التحليل في C:\Users\Public\CAPEsolo\analysis.
- يمكن تكوينها في C:\Users\Public\CAPEsolo\cfg.ini
- الإعدادات هناك تتجاوز الإعدادات الافتراضية المضمّنة في python-path\site-packages\CAPEsolo\cfg.ini،
وتصمد أمام
pip install --upgrade CAPEsolo، الذي يستبدل النسخة المضمّنة.
- أدرج فقط المفاتيح التي تريد تغييرها؛ والباقي يعود إلى الإعدادات الافتراضية المضمّنة.
أعد الجهاز الافتراضي إلى حالته بعد كل تحليل.
عرض تقرير JSON (مستقل)
tools/report_viewer.py هو عارض فرز (triage) قائم بذاته لتقرير report.json الخاص بـ CAPEsolo يعمل
على أي مضيف باستخدام Python فقط - دون تثبيت CAPEsolo ودون تبعيات pip (stdlib tkinter).
python tools/report_viewer.py [path\to\report.json]
- بدون وسيطات يفتح
%USERPROFILE%\Desktop\report.json (حيث يكتبه CAPEsolo)؛
استخدم File > Open لاختيار ملف آخر.
- تبويبات الفرز: Overview (بطاقة الحكم - تجزئات الملف، الاكتشافات، أهم التوقيعات، الإعدادات، الأعداد)،
Signatures (مرتبة حسب الخطورة، ملوّنة، مع أدلة لكل عملية)، Processes (شجرة العمليات
مع بيانات وصفية لكل عملية)، Network (DNS/HTTP/Hosts/Domains/Flows)، Payloads (مع نتائج yara
والسلاسل النصية)، وIOCs (مجمّعة، مع Copy / Export CSV / Export text).
- مربع البحث (الشريط العلوي) يجد قيمة عبر التوقيعات والشبكة والحمولات والإعدادات وIOCs
والسلاسل النصية، وينتقل إلى التبويب المالك.
- تبويب Raw JSON يحتفظ بالشجرة الكاملة لأي شيء لا تُظهره تبويبات الفرز.
- يتعامل مع التقارير الكبيرة: يُقرأ الملف مع شريط تقدم، وتُحمَّل الشجرة الخام بشكل كسول
(الأبناء عند التوسيع)، ولوحات التفاصيل محدودة، لذا يبقى سريع الاستجابة على
تقارير بمئات الميغابايت/الجيغابايت. (تقرير بحجم جيغابايت لا يزال يحتاج عدة جيغابايت من الذاكرة لتحليله - وهذا متأصل في
JSON الخاص بـ Python.)
- يحتاج tkinter - مضمّن مع Python القياسي على Windows/macOS؛ على Linux ثبّت
python3-tk.
الحفاظ على النتائج من جهاز افتراضي غير مستقر
- إذا جعلت عيّنة الجهاز الافتراضي غير قابل للاستخدام بعد التفجير، انقر على Zip Results في لوحة Start لـ
أرشفة دليل التحليل بالكامل إلى
Desktop\capesolo_analysis_<timestamp>.zip.
- لاستعادة النتائج في جهاز افتراضي نظيف/مُعاد، انسخ ذلك الملف المضغوط إلى
C:\Users\Public\CAPEsolo\restore.zip،
ثم ابدأ CAPEsolo. عند بدء التشغيل يستخرج الملف المضغوط إلى دليل التحليل (فقط عندما لا يحتوي ذلك
الدليل على تحليل بعد) ويعيد تسميته restore.zip.done بحيث يستعيد مرة واحدة.
- تقرأ تبويبات النتائج بعد ذلك العناصر المستعادة دون إعادة تشغيل - عالج كل تبويب (Behavior،
Yara، Configs، Signatures) أو استخدم أزرار JSON/HTML Report.
تنزيل العينات بواسطة التجزئة (Hash)
- يمكن للوحة Start جلب عيّنة بواسطة MD5/SHA1/SHA256 من VirusTotal أو MalwareBazaar و
استخدامها كهدف التحليل. يُختار المصدر تلقائيًا (VirusTotal أولاً، ثم
MalwareBazaar؛ يتطلب MalwareBazaar قيمة SHA256)، بناءً على المفاتيح المُكوَّنة.
- فعّلها في
cfg.ini (أو عبر زر Settings): ضمن [download] اضبط enabled = true.
directory يحدد مكان حفظ العينات (افتراضيًا سطح مكتب المستخدم).
- مفاتيح API - من أين تحصل عليها:
- VirusTotal: تتطلب تنزيلات الملفات مفتاح VirusTotal Enterprise / Intelligence API. مفتاح
المجتمع المجاني يمكنه البحث عن التقارير لكنه لا يستطيع تنزيل الملفات.
- MalwareBazaar: مفتاح abuse.ch Auth-Key مجاني (أنشئ حسابًا على auth.abuse.ch).
- تُخزَّن مفاتيح API مشفَّرة، وليس كنص صريح على الجهاز الافتراضي أبدًا. تُنتج الكتلة المشفَّرة
خارج الجهاز الافتراضي باستخدام
tools/encrypt_api_key.py وتلصقها في cfg.ini.
- يأتي
tools/encrypt_api_key.py في مستودع مصدر CAPEsolo ضمن tools/. شغّله على
مضيف موثوق (وليس جهاز التحليل الافتراضي)؛ يحتاج فقط pip install cryptography.
python tools/encrypt_api_key.py
خادم MCP
- يتضمن CAPEsolo نقطة دخول لخادم MCP لسير عمل التحليل البرمجي.
- ابدأه عبر stdio باستخدام
CAPEsolo-mcp، أو قدّمه عبر HTTP للوصول إليه من المضيف.
- راجع mcp_server.md للنقل، وتكوين
cfg.ini، وقائمة الأدوات الكاملة، والأمثلة.
مصحح الأخطاء التفاعلي
- راجع interactive_debugger.md لمصحح الأخطاء الرسومي، وmcp_server.md لمكافئ MCP.
واجهة سطر أوامر للتشغيل الفردي بدون واجهة (Headless)
- يدعم CAPEsolo وضع تشغيل فردي غير MCP يعيد استخدام نفس مشغّل المهام الخلفي الخاص بخادم MCP.
- شغّل تحليلًا واحدًا ثم اخرج:
CAPEsolo --headless-analyze "C:\path\sample.exe"
- أعلام اختيارية:
--package <name>
--options "key=value,key2=value2"
--timeout <seconds>
--enforce-timeout
--headless-json
--headless-html-report