2023驱动保护学习 -- 创建第一个驱动程序

时间:2022-09-16 00:51:45

一、环境安装

0、VS2022安装,就不细说了

1、从下面地址下载两个软件WDK和SDK,并安装

https://learn.microsoft.com/zh-cn/windows-hardware/drivers/download-the-wdk

2023驱动保护学习 -- 创建第一个驱动程序

2、两个软件一路下一步即可

2023驱动保护学习 -- 创建第一个驱动程序

二、新建一个驱动程序,建一个空程序

2023驱动保护学习 -- 创建第一个驱动程序

三、代码编写

1、在源文件夹里面添加一个C++文件编写驱动

2023驱动保护学习 -- 创建第一个驱动程序

2、添加入口点

#include <ntifs.h>


extern "C" NTSTATUS DriverEntry(_In_ PDRIVER_OBJECT Dot, _In_ PUNICODE_STRING psg)
{
KdPrint(("hello world!!!"));
return 0;
}

2023驱动保护学习 -- 创建第一个驱动程序

3、设置生成驱动的属性

2023驱动保护学习 -- 创建第一个驱动程序

4、生成项目,将驱动文件*.sys拷贝出来

5、打开Debug View和驱动管理

2023驱动保护学习 -- 创建第一个驱动程序

2023驱动保护学习 -- 创建第一个驱动程序

6、在Monitor中点击文件夹,加载我们新建的驱动

2023驱动保护学习 -- 创建第一个驱动程序

7、设置DebugView

2023驱动保护学习 -- 创建第一个驱动程序

2023驱动保护学习 -- 创建第一个驱动程序

8、点击驱动管理go标识,提示加载成功

2023驱动保护学习 -- 创建第一个驱动程序

9、DebugView会显示kdprint里面的内容,说明驱动生成没问题。

2023驱动保护学习 -- 创建第一个驱动程序

四、踩过的坑

1、驱动由于没有相关认证,所以调试的时候要,禁用签名验证,禁用后桌面右下角会有如下标致

bcdedit /set testsigning on   禁用验证
bcdedit /set testsigning off 启动验证

2023驱动保护学习 -- 创建第一个驱动程序

2、DebugView没有调试信息,在注册表中添加一个这样的子项

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug Print Filter

2023驱动保护学习 -- 创建第一个驱动程序