إطار عمل متعدد المحركات لفك تغليف وتحليل البرامج الثنائية المحمية بواسطة الآلة الافتراضية باستخدام تتبع التلوث الديناميكي، التنفيذ الرمزي، تصنيف الأنماط، وتحديد الأولويات بواسطة التعلم الآلي لأتمتة الهندسة العكسية للحمايات التجارية والمخصصة.
سيتم إتاحة المشروع للعامة بحلول منتصف أكتوبر - إعادة الهيكلة قيد التقدم
إطار متقدم لاكتشاف وتحليل الآلات الافتراضية
VMDragonSlayer هو إطار شامل لتحليل البرامج الثنائية المحمية باستخدام حمايات قائمة على الآلة الافتراضية (VM) مثل VMProtect 2.x/3.x وThemida وحمايات البرمجيات الخبيثة المخصصة. يجمع الإطار بين عدة محركات تحليلية تشمل التتبع الديناميكي للبصمات (DTT) والتنفيذ الرمزي (SE) وتصنيف الأنماط والتعلم الآلي لأتمتة عملية الهندسة العكسية.
الهدف: تحويل تحليل البرامج الثنائية المحمية المعقدة من أسابيع/أشهر من العمل اليدوي إلى تحليل هيكلي آلي بنتائج قابلة للتفسير.
| المجال | المحرك / الوحدة | الإبرازات |
|---|---|---|
| اكتشاف VM | analysis.vm_discovery | تعريف جدول الموزع والمعالج، استنتاج VM المتداخل |
| تحليل الأنماط | analysis.pattern_analysis | قائم على قواعد + تشابه + تعلم آلي (اختيار هجين تلقائي) |
| تتبع البصمات | analysis.taint_tracking | تتبع على مستوى البايت بواسطة Intel Pin، اكتشاف المعالجات، ثقة التدفق |
| التنفيذ الرمزي | analysis.symbolic_execution.executor | استكشاف مرجح بواسطة ML باستخدام PathPrioritizer، تتبع القيود والحالات |
| التنسيق الهجين | (نواة بايثون) | سير عمل تسلسلي / متوازي / تكيفي (يشير تقرير Ghidra إلى تنفيذه) |
| البيانات الاصطناعية | data/training/synthetic_sample_generator.py | تحوير الإخفاء، توليد عينات متعددة البنى |
| قاعدة الأنماط | data/patterns/ | JSON + قاعدة محسّنة + أنماط تشغيلية مدعومة بـ SQLite |
| إضافة Ghidra | plugins/ghidra/ | تكامل واجهة مستخدم قيد التطوير (عدة قوالب مفقودة) |
| المخططات / التحقق | data/schemas/ | مخططات JSON مخرجات تحليل وصيغ أنماط محققة |
يستخدم VMDragonSlayer بنية معيارية حيث تعمل عدة محركات تحليلية معًا:
graph TD
A[محرك اكتشاف VM] --> B[مصنف الأنماط/ML]
B --> C[محرك التنفيذ الرمزي]
B --> D[متتبع البصمات الديناميكي]
D --> C
subgraph مصادر البيانات ["مصادر البيانات"]
E[قاعدة الأنماط]
F[نماذج ML - إثبات المفهوم]
end
subgraph التنسيق
G[المنسق - إدارة سير العمل والتنسيق]
end
E --> B
F --> B
A --> G
B --> G
C --> G
D --> G
E --> G
F --> G
G --> H[خادم REST API]
G --> I[إضافات - أدوات الهندسة العكسية]
dragonslayer.analysis.vm_discovery)dragonslayer.analysis.taint_tracking)dragonslayer.analysis.pattern_analysis)dragonslayer.analysis.symbolic_execution)dragonslayer.ml)VMDragonSlayer/
├── dragonslayer/ # الحزمة الرئيسية للبايثون
│ ├── analysis/ # محركات التحليل
│ │ ├── vm_discovery/ # كشف وتصنيف VM
│ │ ├── pattern_analysis/ # مطابقة الأنماط وتصنيف ML
│ │ ├── symbolic_execution/ # محرك التنفيذ الرمزي
│ │ ├── taint_tracking/ # تحليل البصمات الديناميكي
│ │ └── anti_evasion/ # إجراءات مضادة للتهرب
│ ├── api/ # خادم وعميل REST API
│ ├── core/ # مكونات الإطار الأساسية
│ ├── ml/ # خط أنابيب التعلم الآلي
│ ├── analytics/ # تقارير التحليل والمقاييس
│ ├── gpu/ # دعم تسريع GPU
│ ├── utils/ # دوال مساعدة
├── data/ # ملفات التكوين والبيانات
│ ├── patterns/ # قاعدة الأنماط
│ ├── models/ # نماذج ML والبيانات الوصفية
│ │ ├── pretrained/ # نماذج مدربة مسبقًا (PoC)
│ │ └── metadata/ # البيانات الوصفية والمخططات للنماذج
│ ├── samples/ # ملفات العينات والسجلات
│ ├── schemas/ # مخططات JSON للتحقق
│ └── training/ # تكوينات التدريب
├── plugins/ # إضافات أدوات الهندسة العكسية
│ ├── ghidra/ # إضافة Ghidra (Java/Gradle)
│ ├── idapro/ # إضافة IDA Pro (Python)
│ └── binaryninja/ # إضافة Binary Ninja (Python)
├── tests/ # مجموعة الاختبارات
├── documentation/ # الوثائق
└── LICENSE # رخصة GPL v3
يتكامل VMDragonSlayer مع أدوات الهندسة العكسية الرئيسية:
ملاحظة: نماذج ML المضمنة هي تطبيقات إثبات مفهوم أساسية مصممة لأغراض البحث والتعليم.
# هذا يعمل الآن بشكل مثالي:
from dragonslayer.core.orchestrator import Orchestrator, AnalysisType
orchestrator = Orchestrator()
result = orchestrator.analyze_binary("your_binary.exe", analysis_type=AnalysisType.VM_DISCOVERY)
# النتائج منظمة بشكل صحيح:
vmd = result.get("vm_discovery", {})
print(f"VM detected: {vmd.get('vm_detected', False)}")
print(f"Handlers found: {len(vmd.get('handlers_found', []))}")
# 1. التثبيت مع جميع التبعيات
pip install -r requirements.txt
pip install -e .
# استنساخ المستودع
git clone https://github.com/poppopjmp/VMDragonSlayer.git
cd VMDragonSlayer