-
VirtualKD: Windows 10 Kernel Debugging SettingTools/Windows 2021. 9. 14. 23:06
일반적으로 VM에 설치된 Windows를 windbg와 시리얼 통신을 이용해 Kernel 디버깅을 한다.
커널 디버깅은 상황에 따라 느릴 때도 있고, 여러가지 자잘자잘한 귀찮은 세팅이 필요할 수 있다.
이를 보완해 편하게 디버깅하고자 만들어진 툴이 VirtualKD인데, 러시아 사람이 만든 툴로 매우 빠르다.
뿐만 아니라 세팅도 단순한 편이고, UI도 직관적이라 쉽게 사용할 수 있다.
여러 블로그에서 설명이 잘 되어있긴 한데, VirtualKD-2.8 버전급으로 낮은 버전의 포스팅이 많다.
이는 Windows 8을 대상으로 만들어져서 Windows 10에서는 정상적으로 작동하지 않는 경우가 많다.
나는 Windows 10 디버깅을 위해 원래 VirutalKD-3.0 버전을 조금 수정해서 썼었는데,
특정 Windows 10 버전 이상부터는 작동하지 않는 문제점이 있었다.
이를 해결하기 위해 누군가가 VirtualKD-Redux라는 Extension을 만들어놓았다.
2021년 09월 기준으로도 커밋이 올라오고 있는걸 보아하니 관리도 잘 되고 있다.
Prerequisties로 요구하는 사항들도 있긴 했었는데, Visual Studio 2017도 문제 없이 돌아가는 것 같다.
https://github.com/4d61726b/VirtualKD-Redux
Download the latest VirtualKD-Redux release에서 최신버전을 다운로드 받아 압축을 푼다.
Windows가 설치된 Guest와 Host가 필요하고, 각각 설정과 실행 방법은 다음과 같다.
1. Guest 설정
VM에 target64(32)를 넣고 vminstall.exe를 실행시켜 Install 버튼을 눌러 설치한다.
이후 리부팅 시킨 뒤 아래와 같은 화면이 나오면 F8을 눌러 Advanced Boot Options에 진입하고,
Disable Driver Signature Enforcement를 선택하면 Guest에서의 설정은 끝이다.2. Host 설정
vmmon64.exe을 실행시켜 [WinDbg/KD debugger path...]에서 windbg.exe 경로를 세팅해준다.
기본 경로로 설치되었다면, 아래 폴더에 windbg.exe가 있다.
C:\Program Files (x86)\Windows Kits\10\Debuggers\x64 C:\Program Files (x86)\Windows Kits\10\Debuggers\x86 C:\Program Files\Windows Kits\10\Debuggers\x86
Windbg는 Win10기준으로 아래 링크인
https://developer.microsoft.com/ko-kr/windows/downloads/windows-10-sdk/에서 설치하면 된다.Run debugger을 누르면 windbg.exe가 정상적으로 실행되고 커널 디버깅을 시작할 수 있다.
VirtualKD 모니터의 PID에서 빨간 불이 들어오면 잘못된 상태이기 때문에 Run debugger버튼이 동작하지 않는다.
아래와 같이 windbg.exe가 올라오면, 정상적으로 커널 디버깅을 할 수 있는 상태이다.
'Tools > Windows' 카테고리의 다른 글
Visual Studio Tips (0) 2024.03.13 Instrumentation for Windows (0) 2024.03.04 Windows Application Fuzzing 기본 세팅 (0) 2023.04.07 kdnet: Windows 10 Kernel Network Debugging Setting (0) 2022.12.02 Windows Kernel Symbol(pdb file) (0) 2021.09.14