
Материалы воркшопа для освоения отладки в WinDbg в режиме ядра и пользовательском режиме, включая настройку KdNet, демонстрации и задание по Time Travel Debugging для анализа бинарных файлов.
Этот репозиторий содержит материалы, созданные для воркшопа «Tips & Tricks for better debugging with WinDbg» на REcon 2024.
Материалы воркшопа предназначены для предоставления полезных возможностей WinDbg при отладке в режиме ядра, однако эти концепции вполне можно применить и к отладке в пользовательском режиме.
Чтобы легко настроить среду 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