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

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

一、环境安装

0、VS2022安装,就不细说了

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

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

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

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

三、代码编写

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

2、添加入口点

#include <ntifs.h>
extern "C" NTSTATUS DriverEntry(_In_ PDRIVER_OBJECT Dot, _In_ PUNICODE_STRING psg)
{
  KdPrint(("hello world!!!"));
  return 0;
}

3、设置生成驱动的属性

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

5、打开Debug View和驱动管理

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

7、设置DebugView

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

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

四、踩过的坑

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

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

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

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


目录
相关文章
|
Go 开发工具 C++
2023驱动保护学习 -- 创建第一个驱动程序
2023驱动保护学习 -- 创建第一个驱动程序
69 0
|
5月前
|
Windows
查看LabVIEW及各个模块和驱动的版本号
查看LabVIEW及各个模块和驱动的版本号
109 0
|
7月前
2023驱动保护学习 -- 创建驱动设备及符号链接并实现删除操作
2023驱动保护学习 -- 创建驱动设备及符号链接并实现删除操作
54 0
|
7月前
2023驱动保护学习 -- 通过代码实现驱动卸载
2023驱动保护学习 -- 通过代码实现驱动卸载
48 0
|
7月前
2023驱动保护学习 -- 通过驱动保护进程
2023驱动保护学习 -- 通过驱动保护进程
47 0
|
7月前
|
数据库 C++
2023驱动保护学习 -- 通过代码实现驱动加载
2023驱动保护学习 -- 通过代码实现驱动加载
42 0
|
7月前
|
Go
2023驱动保护学习 -- 卸载驱动程序
2023驱动保护学习 -- 卸载驱动程序
46 0
v4l2 驱动程序初始化
v4l2 驱动程序初始化
90 0
|
Windows
Logitech GHub 驱动长时间加载/初始化解决方案
有关于 G502 Lightspeed 驱动无法正常运行解决方案
774 0
Logitech GHub 驱动长时间加载/初始化解决方案
|
Linux ice Windows
V5.10 DebugServer中CKLINK驱动更新说明
V5.10 DebugServer中CKLINK驱动更新说明
V5.10 DebugServer中CKLINK驱动更新说明