一、安装WDK10

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

首先下载wdk10,并安装,安装过程中会提示你当前sdk版本和wdk不匹配,所以还需要先把sdk装上。这些步骤比较简单略过了,记得安装wdk时勾上安装插件的选项,如下图:


二、编写 WIN7 X64 驱动

wdk10装好之后,可以直接开发win7的驱动,下面构建一个空WDM驱动项目:

#include <ntddk.h>VOID DriverUnload(PDRIVER_OBJECT pDriver)
{UNREFERENCED_PARAMETER(pDriver);DbgPrint("Goodbye~\n");
}NTSTATUS DriverEntry(PDRIVER_OBJECT pDriver, PUNICODE_STRING pRegPath)
{UNREFERENCED_PARAMETER(pRegPath);pDriver->DriverUnload = DriverUnload;DbgPrint("Hello Driver!\n");return STATUS_SUCCESS;
}

然后修改项目配置:

如果编译报错 “error MSB8040: 此项目需要缓解了 Spectre 漏洞的库”,则需要添加单个组件,注意版本要和当前msvc版本一致,我这里是14.27,然后我不需要ARM的,所以只勾了这三个:

如果报错 “error 1297: Device driver does not install on any devices”,就把inf文件下图选中的内容删掉,即可编译成功。

三、运行 WIN7 X64 驱动

把驱动复制到WIN7上,用KMD工具加载:

如果发现Dbgprint没有输出,我的解决方法是修改注册表,在 "HKLM/SYSTEM/CCS/Control/Session Manager/Debug Print Filter“路径下新建一个名为”DEFAULT“的键值,类型为DWORD,值为 8或0xF

四、编译 XP X86 驱动

我以前使用 vs2010 + wdk7600 写过 xp 驱动,今天尝试一下用 vs2019+wdk10。

按照刚才 X64 的套路,修改项目属性,主要就是把 inf 关掉,然后目标平台设置成 WIN7 DESKTOP:

然后就可以编译了:

拿到 xp 试试能不能用,发现是OK的。

五、编译 WIN10 X64 驱动

如果要编译运行WIN10驱动,我这里提供一种方法:
首先要把项目属性的签名设置改成 test sign

目标平台改成win10

然后和WIN7一样的方法,修改注册表打开 DbgPrint 输出:

然后管理员控制台运行这个命令来允许测试签名加载驱动:
bcdedit /set testsigning on
重启电脑后右下角有提示的字样,表明支持测试签名了:

然后就可以了,管理员运行加载程序,就能在 dbgview 看到输出:

六、符号文件环境变量

在物理机设置环境变量,使用IDA和WINDBG时就可以自动从微软服务器上下载符号文件。

_NT_SYMBOL_PATH
SRV*E:\Win10Symbols*http://msdl.microsoft.com/download/symbols/

vs2019+wdk10开发 xp, win7, win10 驱动相关推荐

  1. VS2019+WDK10编写xp平台的驱动

    VS2019+WDK10编写xp平台的驱动 之前自己在网上找了一堆教程,各种配置一大堆都没有成功,但是都没成功. 如何配置直接贴张图,其实非常非常简单.

  2. 《寒江独钓——windows内核安全编程》vs2019+wdk10开发xp驱动

    1.Driver Settings->General: Target OS Version: Windows 7 Target Platform: Desktop 2.Inf2Cat Run I ...

  3. 易语言基于飞浆的本地ocr文字识别 xp win7 win10 无网离线 都可用

    易语言基于飞浆的本地ocr文字识别 xp win7 win10 无网离线 都可用,图片/截图/字节集参数都可识别,使用模块调用dll,免库,体积小简单方便,某些特殊图片(比如字体超大或者方向倾斜)的识 ...

  4. C#获取电脑系统信息和硬件信息,兼容XP/Win7/Win10(依赖System.Management.dll)

    文章目录 一.前言 二.具体实现 1.引入System.Management.dll 2.引入命名空间 3.获取系统信息 4.获取CPU信息 5.获取内存信息 6.获取硬盘信息 7.获取显卡信息 三. ...

  5. C# winform程序免安装.net framework在XP/win7/win10环境运行

    前文: 首先感谢群里的大神宇内流云 提供的anyexec for windows版本. 经过本人搭建虚拟机在xp环境 使用anyexec运行winfrom程序后,测试通过,如下是用的xp运行winfr ...

  6. (14)[驱动开发]配置环境 VS2019 + WDK10 写 xp驱动

    文章目录 安装SDK和WDK 创建项目 编写程序 其他工具 参考: 参考博客 安装SDK和WDK 我这里用的是VS2019.环境其实是早就配好了,只不过写一下而已.后来VS2019不能被visual ...

  7. xp计算机能装win系统吗,自己用的电脑要装系统,XP, Win7, Win10到底选哪个?解救小白篇...

    对于小白来说现在新买的电脑不知道装什么系统?旧电脑想装win7,win10不知道能不能装?为了让大家能更好的了解这三个系统,我这里从几个方面做一下对比: XP.Windows7和Windows10都是 ...

  8. .net4.0运行时安装说明(xp,win7,win10)

    概述 现在大多windows桌面版的系统都是使用.net开发,所以我们整理了一下目前流行的.net4.0运行时的安装说明. win 10 (1511)以上(含)系统不需要安装. win7系统需要安装, ...

  9. 001:VS2019+WDK10+Win10 驱动开发环境

    参考以下两篇文章: Download the Windows Driver Kit (WDK) - Windows drivers | Microsoft Learn <VS2019+WDK10 ...

最新文章

  1. 斯坦福NLP笔记72 —— The Inverted Index
  2. python课程费用-深圳python课程费用
  3. 2017广西邀请赛重现赛
  4. c语言oj合法标识符,YTUOJ-C语言合法标识符
  5. java 接口中变量修饰符,Java的访问修饰符与变量的作用域讲解
  6. 【转载保存】WebCollector 2.x 入门教程
  7. 可编程CDN – EdgeScript应用场景、语言速览和实操演示
  8. 钢板弹簧matlab,Matlab/GUI在钢板弹簧悬架设计中的应用
  9. 分布式光伏风电新能源电站并网必备须知:正反向隔离装置组网-也适用于微网储能虚拟电厂
  10. 企业致胜在于人本管理--盖洛普著名的Q12
  11. 将网页内容保存为PDF
  12. IT人物——冯诺依曼
  13. 在c语言中作为字符串结束标志是什么,字符串的结束标志是什么?
  14. js获取图片点坐标值
  15. 【ppt入门教程】PowerPoint课件发布全攻略
  16. 单片机程序跑飞死机的几种原因
  17. 内部软件技术文档怎么做?
  18. day5 安装Linux服务器面板管理工具
  19. 7牛-qshel的一些使用
  20. 数据库课程设计 人事管理系统

热门文章

  1. fibonacci数列前20项_面试题精选:神奇的斐波那契数列
  2. Python编程学习:让函数更加灵活的*args和**kwargs(设计不同数量参数的函数)的简介、使用方法、经典案例之详细攻略
  3. 成功解决ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), a.item(), a.any(
  4. Py之GraphLab:graphlab库的简介、安装、使用方法之详细攻略
  5. ML之回归预测:利用九大类机器学习算法对无人驾驶汽车系统参数(2018年的data,18+2)进行回归预测值VS真实值
  6. 深入浅出统计学 第一章 数据的可视化
  7. 98%的人没解出的德国面试逻辑题(离散数学篇)!?
  8. oracle数据库操作
  9. tnsname.ora
  10. Java设计模式(16)中介模式(Mediator模式)