Skip to content

创建windows驱动开发环境

[toc]

安装VS2019

​ 1.下载VS2019社区版,下载链接

​ 2.运行安装工具,修改安装目录为d盘,选择开发组件和windows sdk,windows sdk选择10.0.18版本;

安装wdk

​ 1.下载wdk,wdk版本要与上文中windows sdk版本保持一致,下载链接

​ 2.下载完成后运行安装程序,安装路径选择之前的windows sdk路径;

​ 3.运行“D:\Windows Kits\10\Vsix\VS2019\WDK.vsix”,给vs2019安装驱动开发插件,路径为wdk的安装路径;

创建第一个驱动程序

​ 1.运行vs2019,新建一个空的驱动项目;

​ 2.创建第一个驱动程序;

#include<wdm.h>

//卸载函数
VOID unload(PDRIVER_OBJECT pdriver) 
{
    DbgPrint("unload is ok\n");
}

//驱动程序入口
NTSTATUS DriverEntry(PDRIVER_OBJECT pdriver,PUNICODE_STRING path)
{
    DbgPrint("driver inject is ok\n");
    pdriver->DriverUnload = unload;
    return STATUS_SUCCESS;
}

​ 3.编译链接生成“.sys”驱动文件;

测试驱动程序

​ 1.安装“Oracle VM VirtualBox”虚拟机,在虚拟机上安装windows10系统;

​ 2.将tools文件下“signtools-v3.2.zip”、“driver monitor”、“DebugView.zip”、“签名证书.zip”拷贝到虚拟机中;

​ signtools-v3.2.zip:给驱动程序添加数字签名;

​ driver monitor工具:实现驱动程序的运行;

​ DebugView.zip:microsoft官方查看程序的debug信息;

​ 3.调节系统时间为2011-10-01,为签名工具添加签名证书和签名规则;

​ 也可以直接关闭系统的驱动程序签名功能;

​ 4.将“.sys"驱动程序拷贝到虚拟机中,给驱动程序添加内核数字签名;

​ 5.打开debugView窗口,设置监视内核调试信息;

​ 6.使用“driver monitor”工具运行驱动程序,如看到以下输出则视为成功:

安装windbg实现双机调试

​ 1.若按上文安装vs2019选择了debug组件,则不需要安装windbg,没有则单独进行安装;

​ 2.目标系统运行“msconfig”,设置以调试模式引导,重启系统;

​ 3.按下图对“virtualbox”虚拟机串口进行设置;

​ 4.设置windbg连接目标系统;

​ 5.出现如下画面则表示双机调试连接成功;