العودة إلى التحديثات
New releaseJul 21, 2026

HyperDbg v0.22

أدوات تصحيح أخطاء أصلية متطورة

مشاركة

الموقع التوثيق Doxygen الأبحاث الأكاديمية المنشورة الرخصة

HyperDbg Debugger

HyperDbg Debugger
HyperDbg Debugger هو مصحح أخطاء مفتوح المصدر مدعوم بالمُشغِّل الافتراضي (hypervisor) لنظام Windows (دعم Linux قيد التطوير حاليًا!) مع دعم لتصحيح الأخطاء في كل من وضع المستخدم ووضع النواة (الأصلي). وهو مبني للهندسة العكسية، والاختبار العشوائي (fuzzing)، وتحليل الأنظمة المتقدمة باستخدام ميزات المحاكاة الافتراضية والتتبع الحديثة للعتاد.

يمكنك متابعة HyperDbg على Twitter أو Mastodon لتلقي إشعارات حول الإصدارات الجديدة، أو الانضمام إلى أي من مجموعات HyperDbg، حيث يمكنك سؤال المطورين وهواة الهندسة العكسية مفتوحة المصدر للمساعدة في إعداد HyperDbg واستخدامه.

الوصف

HyperDbg مبني حول تقنيات المحاكاة الافتراضية للعتاد الحديثة لتقديم قدرات تتجاوز تلك التي توفرها مصححات الأخطاء التقليدية. يعمل فوق نظام التشغيل عن طريق محاكاة نظام يعمل بالفعل باستخدام Intel VT-x وجداول الصفحات الموسعة (EPT). ومن خلال الجمع بين المحاكاة الافتراضية وتقنيات التتبع المتقدمة مثل Intel Processor Trace (Intel PT)، يوفر HyperDbg قدرات قوية للتتبع وVirtual Machine Introspection (VMI).

HyperDbg Debugger

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

HyperDbg يوفر مجموعة واسعة من ميزات تصحيح الأخطاء المتقدمة، بما في ذلك عدة أنواع من الخطافات المخفية القائمة على EPT. يمكنه محاكاة نقاط توقف عتاد البيانات لمراقبة قراءات وكتابات وتنفيذ الذاكرة في نطاقات عناوين محددة مع بقائه شفافًا لكل من نظام التشغيل والتطبيقات المستهدفة. على عكس مسجلات تصحيح الأخطاء العتادية، فإن هذه الإمكانيات للمراقبة ليست محدودة بعدد مسجلات التصحيح المتاحة أو قيود الحجم. علاوة على ذلك، فإن HyperDbg قادر على تتبع التنفيذ عبر مستويات الامتياز المختلفة، بما في ذلك الانتقالات من وضع المستخدم إلى وضع النواة (على سبيل المثال، عبر استدعاءات النظام، وheaven's gate، والأخطاء (faults)، والاستثناءات، والمقاطعات)، ومن النواة إلى برامج تشغيل الأجهزة، ومن وضع النواة مرة أخرى إلى وضع المستخدم، مما يتيح تحليلًا شاملًا لمسار التنفيذ بالكامل.

بالإضافة إلى ذلك، يدعم HyperDbg ربط استدعاءات النظام، وتتبع تدفق التحكم من خلال ميزات تتبع العتاد، ومراقبة شاملة لعمليات الإدخال/الإخراج، بما في ذلك كل من الإدخال/الإخراج المعيّن في الذاكرة (MMIO) والإدخال/الإخراج المعيّن بالمنافذ (PMIO)، مما يتيح تحليلًا مفصلاً لتفاعلات الأجهزة والملحقات الخارجية.

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

HyperDbg مصمم للعمل بأكبر قدر ممكن من التخفي. فهو لا يستخدم أي واجهات برمجة تصحيح أخطاء لتصحيح نظام التشغيل أو أي تطبيق، لذلك لن تكتشفه الطرق التقليدية لمكافحة التصحيح. كما يتضمن وحدة متخصصة مصممة لتعزيز قدرات التخفي. تراقب هذه الوحدة محاولات كشف وجود مشغّل افتراضي أو مصحح أخطاء وتطبق تقنيات متنوعة للإبلاغ عن آليات الكشف هذه ثم التخفيف منها أو تجاوزها. على الرغم من أنه لا يمكن ضمان الشفافية الكاملة في جميع السيناريوهات، إلا أن هذه الميزات تزيد بشكل كبير من صعوبة اكتشاف HyperDbg، مما يجعل من الصعب جدًا على التطبيقات، وأدوات التغليف (packers)، وواقيات البرمجيات، والبرمجيات الخبيثة، وأنظمة مكافحة الغش، والآليات الأمنية الأخرى تحديد وجوده.

لماذا HyperDbg؟

إن إعداد واستخدام HyperDbg أصعب، ويتطلب معرفة أعمق بمستوى النظام المنخفض مقارنة بمصححات الأخطاء التقليدية. ومع ذلك، فإنه يوفر ميزتين رئيسيتين:

  1. التحكم الكامل في النظام ونظام التشغيل
    يعمل HyperDbg على مستوى المشغّل الافتراضي، مما يمنحك قدرات قوية غير ممكنة ببساطة مع مصححات الأخطاء التقليدية. وهذا يتيح لك الاستفادة من الميزات المدعومة بالعتاد لسيناريوهات الهندسة العكسية وتصحيح الأخطاء المتقدمة.

  2. التخفي ومقاومة الاكتشاف
    نظرًا لأن HyperDbg لا يعتمد على واجهات برمجة تصحيح الأخطاء القياسية لنظام التشغيل، فإن اكتشافه أصعب بكثير عمومًا (وإن لم يكن مستحيلًا). وهذا يجعله خيارًا قويًا عند العمل ضد حمايات مكافحة التصحيح.

هذه المزايا تفتح آفاقًا لتقنيات جديدة كليًا في تصحيح الأخطاء والهندسة العكسية تتجاوز ما يمكن أن تقدمه مصححات الأخطاء التقليدية.

البناء والتثبيت

يمكنك تنزيل أحدث الملفات الثنائية المترجمة من الإصدارات؛ وإلا، إذا كنت تريد بناء HyperDbg، فيجب عليك استنساخه باستخدام العلم --recursive.``` git clone --recursive https://github.com/HyperDbg/HyperDbg.git

يرجى زيارة **[التثبيت والبناء](https://docs.hyperdbg.org/getting-started/build-and-install)** و**[البدء السريع](https://docs.hyperdbg.org/getting-started/quick-start)** للحصول على شرح مفصّل حول كيفية البدء مع **HyperDbg**. يمكنك أيضًا الاطلاع على **[الأسئلة الشائعة](https://docs.hyperdbg.org/getting-started/faq)** لمزيد من المعلومات، أو إذا كنت قد استخدمت سابقًا مصححات أصلية أخرى مثل GDB أو LLDB أو WinDbg، يمكنك الاطلاع على [خريطة الأوامر](https://hyperdbg.github.io/commands-map).

## دروس تعليمية

سلسلة الدروس التعليمية **من OpenSecurityTraining2 "Reversing with HyperDbg (Dbg3301)**"، المتاحة على [**موقع OST2**](https://ost2.fyi/Dbg3301) (_المفضَّل_) و[**يوتيوب**](https://www.youtube.com/playlist?list=PLUFkSN0XLZ-kF1f143wlw8ujlH2A45nZY) هي الطريقة الموصى بها للبدء مع HyperDbg وتعلُّمه. ترشدك خلال الخطوات الأولية لاستخدام HyperDbg، وتغطي المفاهيم والمبادئ الأساسية ووظائف التصحيح، إلى جانب أمثلة عملية والعديد من أساليب الهندسة العكسية الفريدة في HyperDbg.

إذا كنت مهتمًا بفهم التصميم الداخلي وهندسة أنظمة الهايبرفايزر وHyperDbg، يمكنك قراءة دروس [**Hypervisor From Scratch**](https://rayanfam.com/tutorials).

## المنشورات

في حال استخدامك لأحد مكونات **HyperDbg** في عملك، فيرجى التفكير في الاستشهاد بأوراقنا البحثية.

**1. [HyperDbg: Reinventing Hardware-Assisted Debugging (CCS'22)](https://dl.acm.org/doi/abs/10.1145/3548606.3560649)** [[arXiv](https://arxiv.org/abs/2207.05676)]```
@inproceedings{karvandi2022hyperdbg,
  title={HyperDbg: Reinventing Hardware-Assisted Debugging},
  author={Karvandi, Mohammad Sina and Gholamrezaei, MohammadHosein and Khalaj Monfared, Saleh and Meghdadizanjani, Soroush and Abbassi, Behrooz and Amini, Ali and Mortazavi, Reza and Gorgin, Saeid and Rahmati, Dara and Schwarz, Michael},
  booktitle={Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security},
  pages={1709--1723},
  year={2022}
}
ورقة أخرى مبنية على HyperDbg...

2. hwdbg: تصحيح الأجهزة مثل البرمجيات (EuroSec'25) [PDF]

``` @inproceedings{karvandi2025hwdbg, title={hwdbg: Debugging Hardware Like Software}, author={Karvandi, Mohammad Sina and Meghdadizanjani, Soroush and Monfared, Saleh Khalaj and van der Kouwe, Erik and Slowinska, Asia}, booktitle={Proceedings of the 18th European Workshop on Systems Security}, pages={56--62}, year={2025} } ``` **3. [HyperEvade: مواجهة تقنيات مكافحة التنقيح وتعزيز الشفافية في الافتراضية المتداخلة باستخدام HyperDbg (DEBT'25)](https://www.jot.fm/contents/issue_2026_01/a8.html)** [[PDF](https://www.jot.fm/issues/issue_2026_01/a8.pdf)]``` @article{ruytenberg2026hyperevade, title={HyperEvade: Countering Anti-Debugging Techniques and Enhancing Transparency in Nested Virtualization using HyperDbg}, author={Ruytenberg, Bj{\"o}rn and Karvandi, Mohammad Sina}, journal={Journal of Object Technology}, volume={25}, number={1}, pages={1--3}, year={2026}, publisher={Association Internationale pour les Technologies Objets} } ``` **4. [الثقب الرقمي: تجاوز حلول DRM الصوتية التجارية باستخدام DReaMcatcher (EuroSys'26)](https://dl.acm.org/doi/abs/10.1145/3767295.3803583)** [[PDF](https://dl.acm.org/doi/pdf/10.1145/3767295.3803583)]``` @inproceedings{ruytenberg2026digital, title={Digital Hole: Bypassing Commercial Audio DRM Solutions with DReaMcatcher}, author={Ruytenberg, Bj{\"o}rn and Karvandi, Mohammad Sina and Bos, Herbert and van der Kouwe, Erik and Slowinska, Asia}, booktitle={Proceedings of the 21st European Conference on Computer Systems}, pages={484--496}, year={2026} } ``` **5. [TRM: إطار عمل فعال قائم على الهايبرفايزر لتحليل البرمجيات الخبيثة وإعادة بناء الذاكرة (AsiaCCS'26)](https://dl.acm.org/doi/10.1145/3779208.3785293)** [[PDF](https://dl.acm.org/doi/pdf/10.1145/3779208.3785293)]``` @inproceedings{karvandi2026trm, title={TRM: An Efficient Hypervisor-Based Framework For Malware Analysis and Memory Reconstruction}, author={Karvandi, Mohammad Sina and Meghdadizanjani, Soroush and Arasteh, Sima and Monfared, Saleh Khalaj and Fallah, Mohammad K and Gorgin, Saeid and Lee, Jeong-A and Slowinska, Asia and van der Kouwe, Erik}, booktitle={Proceedings of the ACM Asia Conference on Computer and Communications Security}, pages={68--82}, year={2026} } ```

يمكنك أيضًا قراءة هذه المقالة حيث تصف البنية العامة والصعوبات التقنية وقرارات التصميم والتفاصيل الداخلية لمصحح أخطاء HyperDbg، وهذه المقالة حول جهودنا في شفافية vm-exit، وهذه المقالة حول مطاردة الأخطاء داخل أنظمة Hypervisor، وهذه المقالة حول تقنيات الهندسة العكسية الجديدة المقدمة في HyperDbg. تتوفر المزيد من المقالات والمنشورات والموارد في مستودع awesome، وبالإضافة إلى ذلك، يوفر مستودع slides شرائح عروض تقديمية لمزيد من المرجع.

مزايا فريدة

  • مصحح أخطاء وضع النواة المتقدم القائم على Hypervisor [رابط][رابط][رابط]
  • خطاف EPT الكلاسيكي (نقطة توقف مخفية) [رابط][رابط][رابط]
  • خطاف EPT المضمّن (Inline Hook) [رابط][رابط]
  • مراقبة الذاكرة للقراءة/الكتابة (محاكاة سجلات تصحيح الأخطاء العتادية بدون قيود) [رابط][رابط][رابط]
  • خطاف SYSCALL (تعطيل EFER ومعالجة #UD) [رابط][رابط][رابط]
  • خطاف SYSRET (تعطيل EFER ومعالجة #UD) [رابط][رابط]
  • خطاف ومراقبة CPUID [رابط][رابط]
  • خطاف ومراقبة RDMSR [رابط][رابط]
  • خطاف ومراقبة WRMSR [رابط][رابط]
  • خطاف ومراقبة RDTSC/RDTSCP [رابط]
  • خطاف ومراقبة RDPMC [رابط]
  • خطاف ومراقبة VMCALL [رابط]
  • خطاف ومراقبة سجلات التصحيح [رابط]
  • خطاف ومراقبة منفذ الإدخال/الإخراج (تعليمة IN) [رابط][رابط]
  • خطاف ومراقبة منفذ الإدخال/الإخراج (تعليمة OUT) [رابط][رابط]
  • مراقبة MMIO [رابط]
  • مراقبة الاستثناءات (IDT < 32) [رابط][رابط][رابط]
  • مراقبة المقاطعات الخارجية (IDT > 32) [رابط][رابط][رابط]
  • تشغيل السكربتات الآلية [رابط]
  • مشروع الوضع الشفاف و Hyperevade (مقاومة مضادة للتصحيح ومضادة للـ Hypervisor) [رابط][رابط][رابط]
  • تشغيل Assembly مخصص في كل من VMX-root و VMX non-root (Kernel و User) [رابط]
  • التحقق من الشروط المخصصة [رابط][رابط]
  • تصحيح أخطاء خاص بالعملية وخاص بالخيط [رابط][رابط][رابط]
  • تتبع الرسائل المتوافق مع VMX-root [رابط]
  • محرك سكربتات قوي في جانب Kernel [رابط][رابط]
  • دعم الرموز (تحليل ملفات PDB) [رابط][رابط]
  • ربط البيانات بالرموز وإنشاء الهياكل والتعدادات من ملفات PDB [رابط][رابط][رابط]
  • إعادة توجيه الأحداث (#DFIR) [رابط][رابط]
  • معالج نقاط التوقف الشفاف [رابط][رابط]
  • سكربتات مخصصة متنوعة [رابط]
  • مجموعة تطوير برمجيات HyperDbg (SDK) [رابط]
  • تجاوز معالجة الأحداث [رابط][رابط]
  • تتبع سجلات استدعاءات الدوال وعناوين العودة [رابط]
  • محرك تفكيك التعليمات مع حساب الطول على مستوى Kernel (LDE) [رابط][رابط]
  • مراقبة تنفيذ الذاكرة وحظر التنفيذ [رابط]
  • حقن مخصص لأخطاء الصفحة [رابط]
  • مراحل مختلفة لاستدعاء الأحداث [رابط]
  • حقن مقاطعات/استثناءات/أخطاء مخصصة [رابط][رابط]
  • أحداث فورية في وضع مصحح الأخطاء [رابط]
  • كشف التحولات من Kernel إلى User ومن User إلى Kernel [رابط]
  • خطافات مراقبة الذاكرة الفعلية [رابط]
  • تعداد أجهزة PCI/PCI-e [رابط]
  • تفسير وتفريغ مساحة إعداد PCI/PCI-e (CAM) [رابط]
  • تفريغ إدخالات IDT و I/O APIC و Local APIC في وضعي XAPIC و X2APIC [رابط][رابط][رابط]
  • إطلاق وعدّ مقاطعات وضع إدارة النظام (SMM) (SMIs) [رابط]
  • الارتباط بعملية وضع User ومنع تنفيذها [رابط]
  • اعتراض تنفيذ تعليمات XSETBV [رابط]
  • كتابة ملفات سكربت مكتبية [رابط]
  • محلل Portable Executable (PE) المحسّن [رابط]
  • تتبع الفروع باستخدام سجل آخر فرع (LBR) [رابط][رابط][رابط][رابط][رابط][رابط][رابط]

كيف يعمل؟

يمكنك قراءة المزيد عن التصميم الداخلي لـ HyperDbg وميزاته في التوثيق. إليك مخطط عام يوضح كيفية عمل HyperDbg:


HyperDbg Design


السكربتات

يمكنك كتابة السكربتات الخاصة بك لأتمتة رحلة التصحيح لديك. تمتلك HyperDbg محرك سكربتات قويًا وسريعًا ومنفّذًا بالكامل على جانب Kernel.

المساهمة

نُقدّر بشدة المساهمة في HyperDbg. لقد أعددنا قائمة بالمهام المحتملة التي قد تكون مهتمًا بالمساهمة فيها.

إذا كنت ترغب في المساهمة في HyperDbg، فيرجى قراءة دليل المساهمة.

الترخيص

HyperDbg وجميع وحداته الفرعية ومستودعاته، ما لم يُحدد ترخيص آخر، مرخصة بموجب GPLv3.

التبعيات مرخصة بتراخيصها الخاصة.

الفئات