
커널 및 사용자 모드에서 WinDbg 디버깅을 마스터하기 위한 워크숍 자료로, KdNet 설정, 데모, 그리고 바이너리 분석을 위한 Time Travel Debugging 챌린지가 포함되어 있습니다.
이 저장소는 REcon 2024에서 진행된 워크숍 "더 나은 WinDbg 디버깅을 위한 팁 & 트릭"을 위해 제작된 자료를 포함하고 있습니다.
이 워크숍 자료는 커널 모드에서 디버깅할 때 유용한 WinDbg 기능을 제공하는 것을 목표로 하며, 그 개념은 사용자 모드 디버깅에도 충분히 적용될 수 있습니다.
KdNet 환경을 쉽게 설정하려면 다음을 수행할 수 있습니다:
bcdedit /dbgsettings를 사용하여 설정합니다Enable-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 폴더에는 워크숍의 일부로 개발되었고 워크숍 중에 시연된 일부 코드가 들어 있습니다.
워크숍은 WinDbg로 열 수 있는 TTD 트레이스가 포함된 챌린지로 마무리되었습니다. 과제는 TTD 세션 중에 수행된 작업을 발견하고, (다른 질문들과 함께) 다음 질문들에 답하는 것이었습니다:
모든 단계는 전적으로 WinDbg 내에서 수행할 수 있고(그래야 합니다).
솔루션 스크립트는 같은 폴더에서 찾을 수 있습니다.
이 저장소는 GitHub에 남겨지지만 아카이브(보관) 처리될 것입니다. 질문이 있으면 Twitter/X 또는 Discord로 부담 없이 연락 주세요.