Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/poppopjmp/vmdragonslayer
التحليل الثابتالتحليل الديناميكي (عزل)تحليل الثغرات الأمنيةالهندسة العكسيةمصممي الأخطاءالاختبار العشوائيتحليل البرمجيات الخبيثةتحليل الملفات الثنائيةتعلم الآلةالأوراق والأبحاثالتعلم والتعليم
GitHubpoppopjmp/vmdragonslayer

VMDragonSlayer

إطار عمل متعدد المحركات لفك تغليف وتحليل البرامج الثنائية المحمية بواسطة الآلة الافتراضية باستخدام تتبع التلوث الديناميكي، التنفيذ الرمزي، تصنيف الأنماط، وتحديد الأولويات بواسطة التعلم الآلي لأتمتة الهندسة العكسية للحمايات التجارية والمخصصة.

عرض المستودع
43168منذ 10 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

VMDragonSlayer

سيتم إتاحة المشروع للعامة بحلول منتصف أكتوبر - إعادة الهيكلة قيد التقدم

إطار متقدم لاكتشاف وتحليل الآلات الافتراضية

VMDragonSlayer هو إطار شامل لتحليل البرامج الثنائية المحمية باستخدام حمايات قائمة على الآلة الافتراضية (VM) مثل VMProtect 2.x/3.x وThemida وحمايات البرمجيات الخبيثة المخصصة. يجمع الإطار بين عدة محركات تحليلية تشمل التتبع الديناميكي للبصمات (DTT) والتنفيذ الرمزي (SE) وتصنيف الأنماط والتعلم الآلي لأتمتة عملية الهندسة العكسية.

الهدف: تحويل تحليل البرامج الثنائية المحمية المعقدة من أسابيع/أشهر من العمل اليدوي إلى تحليل هيكلي آلي بنتائج قابلة للتفسير.

الميزات الرئيسية

  • تحليل متعدد المحركات: يجمع بين تقنيات التحليل الثابت والديناميكي والهجين
  • كشف VM: كشف آلي لحمايات VM التجارية والمخصصة
  • نظام الإضافات: تكامل مع Ghidra وIDA Pro وBinary Ninja
  • التعلم الآلي: نماذج تعلم آلي إثباتية (PoC) لتصنيف الأنماط
  • هندسة قابلة للتوسع: تصميم معياري لسير عمل تحليلي مخصص
  • إطار بحثي: مبني لأبحاث البرمجيات الخبيثة وتعليم الهندسة العكسية

القدرات الأساسية

المجالالمحرك / الوحدةالإبرازات
اكتشاف VManalysis.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
إضافة Ghidraplugins/ghidra/تكامل واجهة مستخدم قيد التطوير (عدة قوالب مفقودة)
المخططات / التحققdata/schemas/مخططات JSON مخرجات تحليل وصيغ أنماط محققة

نظرة عامة على البنية

يستخدم VMDragonSlayer بنية معيارية حيث تعمل عدة محركات تحليلية معًا:

root@kitploit:~
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[إضافات - أدوات الهندسة العكسية]

محركات التحليل الأساسية

1. محرك اكتشاف VM (dragonslayer.analysis.vm_discovery)

  • الغرض: كشف وتصنيف أنظمة الحماية القائمة على VM
  • التقنيات: كشف حلقة الموزع، تحليل جدول المعالج، استنتاج تدفق التحكم
  • الأهداف: VMProtect، Themida، حمايات البرمجيات الخبيثة المخصصة، الحماية المتداخلة

2. التتبع الديناميكي للبصمات (dragonslayer.analysis.taint_tracking)

  • الغرض: تتبع تدفق البيانات عبر تنفيذ VM لتحديد المسارات الحرجة
  • التنفيذ: أداة قائمة على Intel Pin بدقة على مستوى البايت
  • الميزات: الذاكرة الظلية، التهرب من التحليل، الاكتشاف الآلي للمعالجات

3. تحليل الأنماط (dragonslayer.analysis.pattern_analysis)

  • الغرض: تصنيف وتصنيف أنماط وسلوكيات VM
  • الطرق: مطابقة قائمة على القواعد، تحليل التشابه، تصنيف ML
  • قاعدة البيانات: قاعدة أنماط قابلة للتوسع مع مخططات JSON

4. التنفيذ الرمزي (dragonslayer.analysis.symbolic_execution)

  • الغرض: استكشاف مسارات تنفيذ VM بشكل رمزي
  • الميزات: حل القيود، تحديد أولويات المسار، دمج الحالات
  • التكامل: يستخدم نتائج تحليل البصمات لبذر الاستكشاف

5. خط أنابيب التعلم الآلي (dragonslayer.ml)

  • الغرض: التصنيف الآلي والمساعدة في التحليل
  • النماذج: نماذج إثبات مفهوم أساسية للبحث والتعليم
  • المكونات: استخراج الميزات، تدريب النموذج، التنبؤ الجماعي

هيكل المستودع

root@kitploit:~
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 مع أدوات الهندسة العكسية الرئيسية:

إضافة Ghidra

  • اللغة: Java مع نظام بناء Gradle
  • الميزات: واجهة مستخدم لتحليل VM، تصور الأنماط، سير عمل تحليلي آلي
  • الحالة: الإطار منفّذ، مكونات واجهة المستخدم قيد التطوير

إضافة IDA Pro

  • اللغة: Python
  • الميزات: تكامل سلس مع محرك تحليل IDA
  • الحالة: الوظائف الأساسية متاحة

إضافة Binary Ninja

  • اللغة: Python
  • الميزات: تكامل أصلي مع Binary Ninja API
  • الحالة: التكامل الأساسي منفّذ

مكونات التعلم الآلي

ملاحظة: نماذج ML المضمنة هي تطبيقات إثبات مفهوم أساسية مصممة لأغراض البحث والتعليم.


التثبيت

المتطلبات الأساسية

  • Python 3.8 أو أحدث
  • أداة أو أكثر من أدوات الهندسة العكسية:
    • Ghidra 10.0+ (لإضافة Ghidra)
    • IDA Pro 7.0+ (لإضافة IDA)
    • Binary Ninja (لإضافة Binary Ninja)

متطلبات الأجهزة

المتطلبات الدنيا

  • المعالج: معالج x64 حديث
  • الذاكرة العشوائية: 8GB كحد أدنى، 16GB موصى به
  • المساحة التخزينية: 5GB مساحة خالية
  • نظام التشغيل: Windows 10/11، Linux (Ubuntu 20.04+)، macOS 11+

متطلبات GPU (اختياري لكن موصى به)

  • GPU من NVIDIA: GTX 1060 أو أحدث للحصول على أداء مثالي
  • CUDA: إصدار 11.8 أو 12.1+ (يتم تثبيته تلقائيًا مع PyTorch)
  • الذاكرة العشوائية للفيديو: 4GB كحد أدنى لنماذج ML

القيود المهمة

  • الأجهزة الافتراضية: الميزات المسرّعة بـ GPU تتطلب وصولاً مباشرًا للعتاد وقد لا تعمل في الأجهزة الافتراضية
  • WSL: بعض ميزات GPU قد يكون لها وظائف محدودة في بيئات WSL
  • الخوادم البعيدة: تأكد من تثبيت برامج تشغيل CUDA بشكل صحيح للوصول إلى GPU بدون شاشة

الحالة الحالية (المشكلات المُصلحة)

أمثلة عاملة ومتحقق منها

root@kitploit:~
# هذا يعمل الآن بشكل مثالي:
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', []))}")

بداية سريعة

root@kitploit:~
# 1. التثبيت مع جميع التبعيات
pip install -r requirements.txt
pip install -e .

الإطار الأساسي

root@kitploit:~
# استنساخ المستودع
git clone https://github.com/poppopjmp/VMDragonSlayer.git
cd VMDragonSlayer

# التثبيت المُحدّث
# تثبيت جميع التبعيات المطلوبة بما في ذلك z3-solver
pip install -r requirements.txt

# تثبيت الإطار في وضع التطوير
pip install -e .

التثبيت لأجهزة مختلفة

root@kitploit:~
# التثبيت باستخدام CPU فقط (الوظائف الأساسية)
pip install -r requirements.txt
pip install -e .

# GPU من NVIDIA مع CUDA 12.x (سلسلة RTX 30xx/40xx) 
pip install -r requirements.txt
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install -e .

# GPU من NVIDIA مع CUDA 11.8 (GPUs أقدم)
pip install -r requirements.txt  
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install -e .

إنشاء بيئة افتراضية

python -m venv venv source venv/bin/activate # Linux/macOS

أو

venv\Scripts\activate # Windows

تثبيت التبعيات

pip install -r requirements.txt

تثبيت الإطار

cd dragonslayer pip install -e .

تثبيت الإضافات

اختر المفكك المفضل لديك:

إضافة Ghidra

root@kitploit:~
cd plugins/ghidra
./build.bat  # Windows
# أو
./build.sh   # Linux/macOS

# التثبيت إلى Ghidra
cp dist/VMDragonSlayer.zip $GHIDRA_INSTALL_DIR/Extensions/

بداية سريعة

1. الاستخدام الأساسي للإطار

root@kitploit:~
from dragonslayer.core.orchestrator import Orchestrator, AnalysisType

# تهيئة المنسق (يتم تحميل التكوين الافتراضي تلقائيًا)
orchestrator = Orchestrator()

# تحليل برنامج ثنائي
result = orchestrator.analyze_binary("path/to/protected_binary.exe", analysis_type=AnalysisType.VM_DISCOVERY)

# استخراج نتائج اكتشاف VM
vmd = result.get("vm_discovery", {})
print(f"VM Protection Detected: {vmd.get('vm_detected', False)}")
print(f"Handler Count: {len(vmd.get('handlers_found', []))}")
print(f"Analysis Success: {result.get('success', False)}")

حالة الإضافات

تكاملات أدوات الهندسة العكسية

الأداةالحالةالموعد المتوقعملاحظات
API المباشرمستقرةمتاح الآنالنهج الموصى به
إضافة Ghidraقيد التقدمأكتوبر 2025الوظائف الأساسية متاحة
إضافة IDA Proقيد التطويرنوفمبر 2025قيد العمل - غير وظيفية
إضافة Binary Ninjaقيد التطويرنوفمبر 2025قيد العمل - غير وظيفية

البنية

يستخدم VMDragonSlayer بنية معيارية مع محركات تحليلية متعددة:

محركات التحليل

محرك اكتشاف VM

  • كشف الموزع: يحدد حلقات موزع VM باستخدام تحليل تدفق التحكم
  • تخطيط المعالج: يخطط لعلاقات معالجات VM
  • التعرف على البنية: يكتشف بنيات VMProtect وThemida والمخصصة

محرك تتبع البصمات

  • التحليل الديناميكي: يتتبع تدفق البيانات عبر معالجات VM
  • التحكم في الدقة: دقة على مستوى البايت أو التعليمات
  • مكافحة التهرب: يتجاوز تقنيات اكتشاف التحليل الشائعة

محرك تحليل الأنماط

  • مطابقة التواقيع: التعرف على الأنماط بناءً على القواعد
  • تصنيف ML: تصنيف المعالج بناءً على التعلم الآلي
  • تحليل التشابه: مطابقة ضبابية لاكتشاف المتغيرات

محرك التنفيذ الرمزي

  • استكشاف المسار: استكشاف منهجي لمسارات التنفيذ
  • حل القيود: حل القيود باستخدام Z3
  • التحليل الواعي بـ VM: معالجة متخصصة للكود الافتراضي

نماذج التعلم الآلي

يتضمن الإطار عدة نماذج إثبات مفهوم:

النماذج المتاحة

  • مصنف البايت كود: التعرف على الأنماط في تسلسلات بايت كود VM
  • كاشف VM: تصنيف ثنائي لوجود حماية VM
  • مصنف المعالج: تصنيف أنواع معالجات VM
  • كاشف VMProtect: كاشف متخصص لأنماط VMProtect
  • النموذج الجماعي: يجمع بين عدة مصنفات لتحسين الدقة

خصائص النموذج

  • الصيغة: متوافق مع Scikit-learn (تسلسل joblib)
  • الحجم: نماذج صغيرة مناسبة للنماذج الأولية السريعة
  • الغرض: أمثلة تعليمية وخطوط أساس بحثية
  • بيانات التدريب: عينات اصطناعية ومحدودة من العالم الحقيقي

التكوين

متغيرات البيئة

root@kitploit:~
# التكوين الأساسي
export VMDS_CONFIG_PATH="/path/to/config"
export VMDS_MODEL_PATH="/path/to/models"  
export VMDS_LOG_LEVEL="INFO"

# تكوين قاعدة البيانات
export VMDS_DB_URL="sqlite:///vmds.db"

# تكوين API
export VMDS_API_HOST="localhost"
export VMDS_API_PORT="8000"

ملفات التكوين

  • data/database_config.json: إعدادات قاعدة البيانات
  • data/taint_config.properties: معلمات تحليل البصمات
  • data/models/model_registry_config.toml: تكوين نماذج ML

أمثلة

تكوين متقدم

root@kitploit:~
from dragonslayer.core.config import Config
from dragonslayer.analysis.vm_discovery import VMDiscoveryEngine
from dragonslayer.analysis.taint_tracking import TaintTracker

# تكوين مخصص
config = Config({
    'vm_discovery': {
        'min_handler_count': 10,
        'dispatcher_threshold': 0.8
    },
    'taint_tracking': {
        'precision': 'byte_level',
        'max_depth': 1000
    }
})

# تهيئة المحركات المحددة
vm_engine = VMDiscoveryEngine(config)
taint_tracker = TaintTracker(config)

# تشغيل تحليل مستهدف
vm_result = vm_engine.analyze("binary.exe")
if vm_result.vm_detected:
    taint_result = taint_tracker.analyze(vm_result.handlers)

تحليل دفعي

root@kitploit:~
from dragonslayer.workflows.manager import WorkflowManager

# معالجة برامج ثنائية متعددة
manager = WorkflowManager()
results = manager.process_batch([
    "sample1.exe",
    "sample2.exe", 
    "sample3.exe"
])

# إنشاء تقرير ملخص
manager.generate_report(results, "analysis_report.json")

المساهمة

نرحب بالمساهمات! يرجى الاطلاع على:

  • CONTRIBUTING.md - إرشادات التطوير
  • CODE_OF_CONDUCT.md - معايير المجتمع
  • SECURITY.md - سياسة الأمان

الترخيص

هذا المشروع مرخص بموجب رخصة GNU العامة العامة الإصدار 3.0. انظر LICENSE للتفاصيل.


الاقتباس

إذا كنت تستخدم VMDragonSlayer في بحثك، يرجى الاقتباس:

root@kitploit:~
@software{vmdragonslayer_2025,
  title   = {VMDragonSlayer: Automated VM-based Binary Protection Analysis},
  author  = {Panico, Agostino},
  year    = {2025},
  url     = {https://github.com/poppopjmp/VMDragonSlayer}
}

الاتصال

  • المؤلف: van1sh
  • البريد الإلكتروني: [email protected]
  • GitHub: @poppopjmp

شكر وتقدير

شكر خاص لمجتمع الهندسة العكسية ولمطوري أدوات ومكتبات التحليل الأساسية التي تجعل هذا الإطار ممكنًا.

تنزيل الأداة