본 포스팅을 따라하시면 손쉽게 VS2010에서 64비트 WDK를 개발하실 수 있습니다.
시스템 변수를 추가하는데 1,2,3 순서대로 클릭한 후 그림과 같이 새 시스템 변수를 입력합니다. (자신의 경로명에 맞게)
지금부터 프로젝트를 생성하여 빌드를 할건데 귀찮으신 분은 아래 프로젝트 파일로 테스트 해 보시길 바랍니다.
sample 프로젝트 다운로드
Visual Studio 2010을 실행하여 메이크파일 프로젝트를 생성합니다.
빌드 명령줄을 화면과 같이 입력합니다.
속성 페이지에서 포함 디렉토리에 그림과 같은 경로를 추가합니다. (자신의 경로에 맞게)
라이브러리 디렉토리도 추가해야 하는데 c:\WinDDK\7600.16385.1\lib\win7\i386 한 줄 추가합니다.
이제 빌드를 위해 필수 3가지 파일을 준비합니다.
파일들을 자신의 프로젝트의 sample.vcxproj가 있는 디렉토리에 복사 후 SOURCES 파일을 열어 TARGETNAME과 SOURCES를 자신의 환경에 맞게 설정합니다.
빌드가 잘 되는지 테스트 합니다.
이제 asm을 추가할 차례입니다.
프로젝트 디렉토리에 AMD64 디렉토리를 생성합니다.
(필자의 경로 : D:\source\sample\sample\amd64)
SOURCES 파일에 아래 한 줄을 추가합니다.
AMD64_SOURCES=func.asm
프로젝트에서 func.asm을 생성 후 다음과 같이 입력합니다.
작성한 asm을 C에서 연동해봅니다.
빌드가 잘 되는지 테스트 합니다.
이제 실제 머신에서 잘 동작하는지 테스트합니다.
드라이버 서명
원칙적으로는 64비트에서는 서명되지 않은 드라이버를 서비스에 등록할 수 없습니다.
하지만 OSR Loader + Driver Signature Enforcement Overrider (이하 DSEO) 툴 조합으로 이를 해결할 수 있습니다.
OSR Loader (AMD64 용) 다운로드OSRLOADER.exe
DSEO 다운로드dseo13b.exe
DSEO의 Sign a System File을 이용하여 sys를 서명합니다.
서명한 파일을 OSRLOADER로 실행하면 됩니다.
(만약 동작하지 않는다면 DSEO에서 Enable Test Mode로 설정하시기 바랍니다.)
'Windows > WDK' 카테고리의 다른 글
드라이버 숨기기 (LDR_DATA_TABLE_ENTRY) (0) | 2020.10.13 |
---|---|
코드서명 없이 WDK 드라이버 실행하기 (Windows 10 64비트) (3) | 2020.03.19 |
WDK 왕초보를 위한 개발 가이드 #3 - 문자열 사용 (0) | 2014.04.08 |
WDK 왕초보를 위한 개발 가이드 #2 - 메모리 동적 할당 (0) | 2014.04.04 |
WDK 왕초보를 위한 개발 가이드 #1 (2) | 2014.04.02 |