你好Win10驱动开发

你好Win10驱动开发

搭建WDK环境

使用Win10 1909作为开发系统即10363,因为PCHunter支持的最高版本是win10 10363。这个内核工具
在以后非常有用。

在安装WDK之前,先安装正确的SKD,WDK与SDK的版本要对应。我选用的SDK 10.0.18362.0,
以及Windows 10 版本 1903 的 WDK。

下载VS2019,在VS2019安装KMDF框架(就是驱动开发模板)。

创建一个最简单KWDF项目,尝试编译。

编译报错问题

MSB8040 此项目需要缓解了 Spectre 漏洞的库。

解决办法1 ,安装对应SDK Spectre缓解。
解决办法2 ,禁用Spectre 强制检查(鼠标右键属性attribute->C/C++->Code Generation->Spectre)。(推荐这种,前期不要研究有得卖的。)

“Inf2Cat, signability test failed.” Double click to see the tool output.1

解决方案1,禁用Inf2Cat(attribute->Inf2Cat)

关闭驱动强制签名,安装驱动

Win10 默认要求驱动有签名,没签名的驱动禁止安装。自己编译的驱动往往没有签名。因此要关闭win10对驱动签名的检查。
参考方法:https://jingyan.baidu.com/article/624e74594dbc8d34e8ba5aa6.html,最后一步要注意是F7不是7。

关闭以后,通过OSRLOADER.exe,免重启安装驱动。

接受驱动日志

  1. Dbgview接收日志。
  2. TraceView 接受日志。

Dbgview日志相关API KdPrint, KdPrintEx(网上参考方法很多,友情提示请以管理员权限启动Dbgview, 并且添加Capture Kernel选项)
TraceView日志相关API, WPP_INIT_TRACING, TraceEvents。(推荐这种,因为微软使用这种。这种方法是新方法,用于取代老方法)

TraceView使用参考文档

“开始”->“Windows Kits”->“Windows Software Development Kits”,打开一个文件夹,再在其中的“Tools->X64”目录下找到“TraceView.exe”。(右键发送到桌面,省的以后在找)

使用方法,File->PDF(Debug Inofmation)File选择,编译驱动的PDB。

通过OSRLOADER.exe安装驱动,通过PcHunter卸载驱动。查看日志是否输出到TraceView.exe。


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!