1. 윈도우 드라이버 개발 환경 준비
- 하제소프트 대표이사 이봉석님의 윈도우 드라이버 연대기 강의를 보고 기록한 내용이다.
WDK(Windows Driver Kit) 설치
https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk 의 내용을 따라가면 된다.
Step 1 : Visual Studio 2019 설치
설치할 때
Desktop development with C++
을 선택하고, 우측Installation details
의 모든 항목을 체크하여 설치하는 것을 추천한다.다운로드 속도가 너무 느리면 VPN을 사용하거나, MS 다운로드 서버의 IP를 변경하면 된다고 한다.
- 계속
You require permission from SYSTEM to make changes to this file
오류가 발생했는데, 백신이 실시간 감시로 차단하고 있었다...
- 계속
Step 1.5 : 윈도우 10 2004 버전을 위한 SDK 10.0.19041.685 설치
- 나는 왜인지 모르겠는데 VS에 같이 설치되어 있었다.
Step 2 : WDK 다운로드
EWDK는 IDE 없이 CLI로 윈도우 디바이스 드라이버를 개발할 수 있도록 제공하는 것이다.
WDK 7600 설치
비주얼 스튜디오 없이 standalone으로 나온, 구버전의 WDK이다.
도움말이 굉장히 훌륭해서, MSDN에 검색하지 않고 이 도움말을 활용하면 좋다고 한다.
설치
공식 사이트(https://www.microsoft.com/en-us/download/details.aspx?id=11800)에서 iso 파일을 받는다.
Explorer
로 iso 파일을 열어서 마운트시킨다.KitSetup.exe
파일을 실행하고,Help (Documentation Collection)
만 체크하고 설치를 진행한다.WDK Documentation
을 검색해서 실행시킬 수 있다.
왼쪽 아래의
Index
탭에서 검색하여 원하는 내용을 찾을 수 있다.
VirtualBox에 윈도우10 설치
나는 윈도우 10 iso 이미지를 공식 홈페이지에서 다운로드 받은 후, VirtualBox에서 설치했다.
강의에서는 최신 버전의 윈도우가 무겁기 때문에 구버전의 윈도우 10을 구해서 가볍고 빠르게 사용하기를 추천한다.
프로젝트 생성
VS에서
Kernel Mode Driver, USB(KMDF)
를 선택하여 프로젝트를 생성한다.x64로 변경 후 빌드해보면, 다음과 같은 에러가 발생한다.
error MSB8040: Spectre-mitigated libraries are required for this project. Install them from the Visual Studio installer (Individual components tab) for any toolsets and architectures being used. Learn more: https://aka.ms/Ofhn4c
이는 보안 요소에 관한 에러이고, 당장은 신경쓰지 않아도 되므로 설정에서 비활성화한다.
- 프로젝트의 속성에서
C/C++ - Code Generation
의 맨 아래Spectre Mitigation
항목을 Disabled로 변경한다.
- 프로젝트의 속성에서
'Windows > DeviceDriver' 카테고리의 다른 글
06. 프로그램 실행 제어 (0) | 2021.04.25 |
---|---|
05. 5편 구조체분석1 (DRIVER_OBJECT, UNICODE_STRING) (0) | 2021.04.25 |
4. 프로세스 강제 종료 방지 연습 (0) | 2021.04.20 |
3. 간단한 드라이버와 디버깅 (0) | 2021.04.20 |
2. 윈도우 디버거 환경을 준비하자 (0) | 2021.04.20 |