一 安装vmvare 并且安装上xp系统
假设已经安装了虚拟机 并且已经安装了xp x86版
二 下载wdk 并且安装
在微软官网下载 wdk7600.16385.1安装 安装时 将例子也勾上
假设安装在c:/winddk目录下
目录下的/7600.16385.1/src中有许多源代码 可供参考
三 编写源代码
如下helloworld步骤:
在c盘添加一个目录 driverTest 在该目录下
1 添加源代码: 添加一个 test.c [注意这里是c后缀 表示使用c语言开发]
内容:(以下相当于c语言的main函数)
#include <ntddk.h>
int DriverEntry(PDEVICE_OBJECT dev,PUNICODE_STRING regPath ){
return 0;
}
2 添加MAKEFILE文件 文件内容只有一行 !INCLUDE $(NTMAKEENV)makefile.def
3 添加source文件 文件内容如下
#表示被生成的驱动文件的名称为 那么最终会生成 test.sys
TARGETNAME=test
#表示生成的是一个驱动
TARGETTYPE=DRIVER
#表示驱动被生成的目录
TARGETPATH=sys
#表示 驱动编译的源文件有哪些 使用 表示换行
SOURCES=
test.c
如果这些文件不记得这些单词 可以到 7600.16385.1/src下搜索一下 makefile或者source 基本每一个驱动都有这两个文件 稍微改动一下就可以使用
四 编译生成sys文件
开始-程序-Windows Driver Kits-WDK 7600.16385.1-Build Environments-Windows XP-x86 Checked Build Environment
运行Windows XP-x86 Checked Build Environment 进入 刚刚创建的driverTest目录
使用dos命令 cd c:/driverTest目录
执行命令 build 或者build -c 【-c表示如果已经编译过 还是重新在编译一次 】
C:drivertest>build -c
BUILD: Compile and Link for x86
BUILD: Loading c:winddk7600.16385.1uild.dat...
BUILD: Computing Include file dependencies:
BUILD: Start time: Sun Apr 17 12:45:50 2016
BUILD: Examining c:drivertest directory for files to compile.
c:drivertest Auto-cleaning queue for 'root:x86chk' (1 of 1 file(s) removed)
Invalidating OACR warning log for 'root:x86chk'
BUILD: Saving c:winddk7600.16385.1uild.dat...
BUILD: Compiling and Linking c:drivertest directory
Configuring OACR for 'root:x86chk' - <OACR on>
_NT_TARGET_VERSION SET TO WINXP
Compiling - test.c
Linking Executable - sysi386wpdhelloworlddriver.sys
BUILD: Finish time: Sun Apr 17 12:45:51 2016
BUILD: Done
3 files compiled
1 executable built
编译后 查看目录 下 存在一个 /sys/i386/test.sys