
HyperDBG Debugger عبارة عن مصحح مصحح مصحح للنوافذ مفتوحة المصدر ، مدفوعة بالمجتمع ، مدعوم من Hypervisor ، ووضوح مستخدم ، مع التركيز على استخدام تقنيات الأجهزة الحديثة. إنه مصحح مصمم لتحليل ، وضرب ، والانعكاس.
يمكنك متابعة HyperDBG على Twitter أو Mastodon للحصول على الإخطار حول الإصدارات الجديدة ، أو الانضمام إلى أي من مجموعات HyperDBG ، حيث يمكنك أن تسأل المطورين وعشاق عكس المصادر المفتوحة للمساعدة في إعداد واستخدام HyperDBG.
تم تصميم HyperDBG مع التركيز على استخدام تقنيات الأجهزة الحديثة لتوفير ميزات جديدة لعالم Defuggers. يعمل فوق Windows عن طريق عرض نظام تشغيل بالفعل باستخدام Intel VT-X و EPT. يهدف مصحح الأخطاء هذا إلى عدم استخدام أي آليات وبرامج تصحيح الأخطاء ، ولكن بدلاً من ذلك ، فإنه يستخدم جدول صفحة الطبقة الثانية (ويعرف أيضًا باسم جدول الصفحة الموسع أو EPT) على نطاق واسع لمراقبة كل من عمليات إعدام kernel و user.
باستخدام تقسيم TLB ، وميزات مثل قياس تغطية الكود ومراقبة جميع mov (s) إلى/من الذاكرة بواسطة وظيفة ، يجعل HyperDBG مصحح تصحيح فريد.
على الرغم من أنه يحتوي على ميزات جديدة ، فإن HyperDBG يحاول أن يكون خلسة قدر الإمكان. لا تستخدم أي واجهات برمجة تطبيقات تصحيح الأخطاء لتصحيح النوافذ أو أي تطبيق ، لذلك لن تكتشف أساليب مكافحة الأداء الكلاسيكية. كما أنه يقاوم استغلال أساليب دلتا الوقت (على سبيل المثال ، RDTSC/RDTSCP) لاكتشاف وجود فيسورات ، مما يجعل من الصعب للغاية على التطبيقات ، الرازم ، الحماة ، البرامج الضارة ، محركات مكافحة الغش ، وما إلى ذلك لاكتشاف التصحيح.
يمكنك تنزيل أحدث الملفات الثنائية المترجمة من الإصدارات ؛ خلاف ذلك ، إذا كنت ترغب في إنشاء HyperDBG ، فيجب عليك استنساخ HyperDBG مع -العلم --recursive .
git clone --recursive https://github.com/HyperDbg/HyperDbg.git
يرجى زيارة إنشاء وتثبيت وبدء سريع للحصول على شرح مفصل لكيفية البدء بـ HyperDBG . يمكنك أيضًا رؤية الأسئلة الشائعة لمزيد من المعلومات ، أو إذا كنت قد استخدمت سابقًا تصحيحات أصلية أخرى مثل GDB أو LLDB أو Windbg ، فيمكنك رؤية خريطة الأوامر.
سلسلة التعليمية "العكسية مع HyperDBG (DBG3301)" من OpenSecuring2 "، وهي متوفرة على موقع OST2 ( المفضل ) ، ويوتيوب هي الطريقة الموصى بها للبدء في HyperDBG وتعلمها. إنه يرشدك من خلال الخطوات الأولية لاستخدام HyperDBG ، وتغطية المفاهيم الأساسية والمبادئ ووظائف تصحيح الأخطاء ، إلى جانب أمثلة عملية وعدة طرق هندسية عكسية فريدة من نوعها بالنسبة إلى HyperDBG.
إذا كنت مهتمًا بفهم التصميم الداخلي للتصميم والهندسة المعمارية لـ Hypervisors و HyperDBG ، فيمكنك قراءة Hypervisor من دروس الصفر .
في حال كنت تستخدم أحد مكونات HyperDBG في عملك ، يرجى التفكير في ذكر أوراقنا.
1. HyperDBG: إعادة اختراع الأخطاء بمساعدة الأجهزة (CCS'22) [Arxiv]
@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}
}
2. آلة عكس: إعادة بناء افتراضات الذاكرة [Arxiv]
@article{karvandi2024reversing,
title={The Reversing Machine: Reconstructing Memory Assumptions},
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 van der Kouwe, Erik},
journal={arXiv preprint arXiv:2405.00298},
year={2024}
}
يمكنك أيضًا قراءة هذه المقالة لأنها تصف الهندسة المعمارية العامة والصعوبات الفنية وقرارات التصميم والداخلية من مصحح أخطاء HyperDBG ، هذه المقالة حول جهودنا على شفافية VM-Exit ، وهذه المقالة حول مطاردة الأخطاء داخل Hypervisors. تتوفر المزيد من المقالات والمشاركات والموارد في ريبو رهيبة ، وبالإضافة إلى ذلك ، توفر Slides Repo شرائح العرض لمزيد من المرجع.
يمكنك قراءة التصميم الداخلي لـ HyperDBG وميزاته في الوثائق. فيما يلي رسم بياني المستوى الأعلى يوضح كيف يعمل HyperDBG:
يمكنك كتابة البرامج النصية الخاصة بك لأتمتة رحلة تصحيح الأخطاء. يحتوي HyperDBG على محرك سيناريو قوي وسريع ومتسابق تمامًا.
المساهمة في HyperDBG هو موضع تقدير كبير. لقد قدمنا قائمة بالمهام المحتملة التي قد تكون مهتمًا بالمساهمة في ذلك.
إذا كنت ترغب في المساهمة في HyperDBG ، فيرجى قراءة دليل المساهمة.
HyperDBG ، وجميع علاماتها الفرعية و repos ، ما لم يتم تحديد ترخيص خلاف ذلك ، يتم ترخيصها بموجب ترخيص GPLV3 .
التبعيات مرخصة من قبلهم.