
مواد ورشة عمل لإتقان تصحيح الأخطاء باستخدام WinDbg في وضعي النواة والمستخدم، مع إعداد KdNet وعروض توضيحية وتحدي تصحيح الأخطاء عبر السفر الزمني (Time Travel Debugging) لتحليل الملفات الثنائية.
يحتوي هذا المستودع على المواد المُعدّة لورشة العمل "نصائح وحيل لتحسين التصحيح باستخدام WinDbg"، في REcon 2024.
تهدف مواد ورشة العمل إلى توفير ميزات مفيدة لـ WinDbg عند التصحيح في وضع النواة (kernel-mode)، غير أن مفاهيمها يمكن تطبيقها بشكل جيد على تصحيح الأخطاء في وضع المستخدم (user-mode).
لإعداد بيئة KdNet بسهولة، يمكنك:
bcdedit /dbgsettingsEnable-WindowsOptionalFeature -All -Online -LimitAccess -FeatureName Microsoft-Hyper-V # optional
Enable-WindowsOptionalFeature -All -Online -FeatureName Containers-DisposableClientVM # optional
CmDiag.exe DevelopmentMode -On
CmDiag.exe Debug -on –net –hostip $LocalHostIP –key 1.2.3.4
bcdedit /set {current} debug on)تتوفر شرائح ورشة العمل هنا:
يمكنك أيضًا العثور على مرجع WinDbg السريع هنا:
يحتوي مجلد Demos على بعض الأكواد التي طُوّرت كجزء من ورشة العمل وجرى توضيحها خلالها.
اختُتمت ورشة العمل بتحدٍّ يحتوي على تتبع TTD يمكن فتحه باستخدام WinDbg. تمثلت المهمة في اكتشاف ما كان يجري إنجازه خلال جلسة TTD، والإجابة (من بين أسئلة أخرى) على ما يلي:
يمكن (وينبغي) تنفيذ جميع الخطوات بالكامل داخل WinDbg.
يمكن العثور على سكربت الحل في المجلد نفسه.
سيُترك هذا المستودع على Github، لكنه سيُؤرشَف. إذا كانت لديك أسئلة، فلا تتردد في التواصل معي عبر Twitter/X أو Discord.