
Hypervisor بحثي لنظام Windows x64 يستخدم Intel VT-x وخطافات EPT لكل وحدة معالجة مركزية لاعتراض روتينات Nt/Ex/Mm، وتطبيق سياسات الطلبات، وبث القياسات الحية للنواة.
محاكاة Intel VT-x الافتراضية، وخطافات EPT، وقياس عن بعد تفاعلي للنواة بلغة C ولغة تجميع x64.
يُدخل Velum نواة Windows العاملة في وضع VMX غير الجذر ويمنح الباحثين طريقة تفاعلية لمراقبة الاستدعاءات الأصلية، وفحص نشاط النواة، وتطبيق سياسات الطلبات. تعيد خطافات EPT تشغيل التعليمات الأصلية في العتاد، بينما تلتقط المساعدات الضيفية البيانات الوصفية، ويوصل عامل مؤجل الأحداث القابلة للقراءة إلى وحدة التحكم أو DebugView.
استخدمه لتتبع عملية ملف من وسائط الإدخال إلى قرار السياسة، أو لمقارنة طلب مسموح بآخر مرفوض، أو لاستكشاف إعدادات هوية المعالج والتوقيت دون إعادة تشغيل المراقب الافتراضي. يتضمن التنفيذ بدء التشغيل والإيقاف لكل وحدة معالجة مركزية، ونقل حالة CET، وإعادة حقن الأحداث، وإدارة ذاكرة الترجمة المؤقتة.
ابدأ الآن | أدلة الاستخدام | الشرح التقني | لقطات وقت التشغيل | رخصة MIT
| المجال | ما يمكنك فعله |
|---|---|
| خطافات EPT | تمكين وتعطيل خطافات نقاط الدخول المُصدَّرة مع إعادة تشغيل التعليمات الأصلية واستعادة MTF |
| قياس عن بعد للاستدعاءات الأصلية | فحص معرّفات المستدعي والمسارات والبيانات الوصفية للعملية ووسائط الإدخال المفكوكة |
| سياسات الطلبات | رفض طلبات Nt المطابقة باستخدام معايير المستدعي والمسار وحقول الإدخال |
| تقليل الوصول | إزالة الحقوق المطلوبة الصريحة لـ NtCreateFile وNtOpenFile وNtCreateSection وNtOpenProcess وNtDuplicateObject |
| مراقبة النواة | تتبع تخصيص/تحرير التجمع، وتعيين الذاكرة، ووسائط النسخ؛ وفحص ملخصات الوحدات/الوسوم |
| التسجيل | اختيار الإخراج إلى وحدة التحكم المباشرة أو DebugView وتهيئة مرشحات لكل هدف |
| CPUID | تطبيق قواعد الهوية والاستعلام عنها، ثم استعادة الإعدادات الافتراضية |
| TSC | تطبيق إزاحة ثابتة موقعة مع ترجمة الموعد النهائي وإعادة الضبط إلى الصفر |
| دورة الحياة | التحقق من كل وحدة معالجة مركزية مشاركة وإعادة Windows إلى التنفيذ الأصلي عبر مسار الإيقاف |
يحتوي كتالوج الأهداف على 12 روتين Nt و12 روتين Ex/Mm. تحل وحدة التحكم الصادرات المتاحة وعناوين نقاط الدخول المشتركة على النواة العاملة. راجع فهرس الأهداف لمعرفة حقول كل هدف والإجراءات المدعومة.
تم تحسين وقت التشغيل حول ملكية الحالة الصريحة ومسار صغير لخروج VM. تتعامل طبقة تجميع x64 المكوّنة من نحو 1,000 سطر مع الحفاظ على السجلات، وانتقالات VMX، ونقل حالة CET، والعودة الأصلية. تُبقي البنى لكل وحدة معالجة مركزية ومحميات EPT المخصصة مسبقًا التخصيص خارج مسار الخروج؛ ويجري تنسيق الأحداث في عامل مؤجل بمستوى PASSIVE. تستخدم إصدارات الإصدار تحسين المترجم، بينما يتجنب الاعتراض الانتقائي اعتراض العمليات العادية دون داعٍ.
تدير معالجات الجذر انتقالات VMCS وEPT. تلتقط المساعدات الضيفية المؤهلة الوسائط وتقيّم السياسات في سياق Windows. يجري التنسيق لاحقًا في عامل التصريف. تُنفّذ الاستدعاءات المسموحة تعليمة دخولها الأصلية تحت تعيين EPT مؤقت؛ ويعيد MTF التحكم لاستعادة الظل. تستخدم الاستدعاءات المرفوضة عودة ضيفية حقيقية بحيث تتقدم المكدس العادي ومكدس ظل CET معًا.
للحصول على شرح متعمق، اقرأ Velum: الحفاظ على تنفيذ Windows عبر انتقالات VMX. تتبع المقالة بدء تشغيل VMX، وعناصر تحكم VMCS، وخطافات EPT، وCET، ومعالجة NMI/الأحداث، وقياس عن بعد، والإيقاف عبر شيفرة المصدر. ويتضمن أدلة WinDbg من تحقيق Windows 10 ويشرح إصلاح الاسم المستعار ExFreePool/ExFreePoolWithTag. تلخّص ملاحظات الهندسة الأقصر تلك القرارات.
تأتي عمليات الالتقاط أدناه من جلسة فعلية على Windows 11 إصدار 26300.9711 على معالج Intel i7-12700F بـ 20 معالجًا منطقيًا. تتضمن الجلسة 20/20 فحصًا تشخيصيًا لوحدة المعالجة المركزية، ومنع كتابة الملفات ضمن نطاق محدد، وتقليل الوصول، وتكوين المعالج، وإيقاف تشغيل موثّق. المعرض الكامل والرسوم المتحركة | تفاصيل الجلسة وقيم التجزئة.
تمكين الخطافات، وتكوين السياسات، وفحص حالة وحدة المعالجة المركزية، وإدارة بيئة التشغيل من وحدة تحكم واحدة.

طلب NtWriteFile خاضع للتحكم بحجم ستة بايتات مع المستدعي والمسار وحقول الإدخال الخاصة به.

يصبح الوصول المطلوب 0x12019F هو 0x120199 بعد إزالة القناع 0x6. تنجح عملية
الفتح، ويؤكد المسبار أن المقبض الناتج لا يمكنه الكتابة. يجمع هذا التركيب المُعنون
بين مخرجات المراقب ونتيجة التطبيق.



تنزيل v0.1.0 لـ Windows x64 (ZIP) | ملاحظات الإصدار ومجاميع التحقق SHA-256
يحتوي ملف ZIP على velum.sys وvelum-console.exe. اتبع دليل الإعداد أدناه
قبل تحميل برنامج التشغيل، أو ابنِ من المصدر:
ثبّت Visual Studio 2022 أو 2026 مع أدوات C++ x64، بالإضافة إلى Windows SDK
وWDK متطابقين. يكتشف build.bat الأدوات المثبّتة؛ ويتيح VS_PATH وWDK_ROOT
وWDK_VER التحديد الصريح. راجع متطلبات البناء
للاطلاع على توافق المجموعة (kit) والتكوين المُتحقق منه محليًا.
build.bat check
build.bat
ينتج بناء Release المُحسَّن الافتراضي x64/Release/velum.sys و
x64/Release/velum-console.exe، دون دليل تصحيح PE أو إخراج PDB.
يُعدّ build.bat diagnostic خيارًا صريحًا للاشتراك في ثنائيات ورموز تشخيصية منفصلة.
تظل القياسات التشخيصية عن بُعد متاحة في Release. يبقى الإخراج المُولَّد خارج Git.
يغطي دليل الإعداد التحميل المؤقت عبر F7، والتثبيت، ومتطلبات Intel VT-x/EPT، وإعدادات Hyper-V/VBS للضيف، وتكوين VMware المُختبَر. بعد تحميل برنامج التشغيل المُجهَّز، شغّل وحدة التحكم المطابقة كمسؤول:
velum-console.exe
velum-console.exe status
velum-console.exe remove
ابدأ بخطاف واحد وحمل عمل مُتحكَّم به. استخدم remove لإيقاف التشغيل وإزالة الخدمة؛ إغلاق وحدة التحكم يُبقي وقت التشغيل مثبتًا.