VS2017+WDK7.1驱动开发TitanHide
开发适用于Windows xp和Windows 7的TitanHide驱动。
环境准备
因为要适配Windows xp和Windows 7,所以选择WDK7.1。
下载地址:https://learn.microsoft.com/zh-cn/windows-hardware/drivers/legacy-wdk-downloads
找到下载好的.ISO文件,解压,到解压好的文件夹中,
找到安装文件KitSetup.exe,根据指引安装好(路径检验选择默认路径,后续配置安装默认路径)。
安装好就可以在C盘的根目录看到WinDDK文件夹,
项目配置
将从Github上获取的TitanHide源码中TitanHide目录下的.cpp、.h文件复制好一份,重新配一个工程。

根据以下要求配置项目属性:
1 |
|
可能会因为VS的版本不同,会有些许差异,按上面配置更改后,根据VS的提示做出调整即可。
源码的更改
_global.h:
补充#define MAXINT32 _I32_MAX#define _Out_#define _In_#define _In_opt_#define _Outptr_ 五个宏
补充#include <limits.h>头文件
undocumented.h:
补充ObQueryObjectAuditingByHandle和ObCloseHandle函数声明
运行驱动
按上面修改好能编译后,将驱动配置进Windows xp和Windows 7检验。
Windows xp
Windows xp对内核驱动无强制数字签名要求,即使是未签名的TitanHide.sys。
直接用sc create/sc start命令创建系统服务加载驱动。
windows 7
Win7默认启用驱动签名强制校验,未签名的TitanHide.sys会驱动数字签名验证失败。
创建自签测试证书
- 以管理员权限启动
cmd,cd到makecert.exe文件夹位置。1
cd C:\WinDDK\7600.16385.1\bin\amd64
- 创建证书(证书名请自行替换):
TitanHide.cer1
makecert.exe -r -pe -ss PrivateCertStore -n CN=TitanHide_test TitanHide.cer
- 用此证书签名驱动文件:
下面命令请把”D:\visual studio 3\TitanHide_xp\x64\TitanHide_x64\TitanHide.sys” 替换为自己需签名的文件路径,把TitanHide替换自己的证书名。1
Signtool sign /a /v /s PrivateCertStore /n TitanHide /t http://timestamp.digicert.com "D:\visual studio 3\TitanHide_xp\x64\TitanHide_x64\TitanHide.sys"

- 在
win 7虚拟机安装证书
点击安装证书,
选择证书存储:受信任的根证书颁发机构
点是,然后证书就安装成功了。


cmd打开测试模式,并重启虚拟机就可以使用签名的驱动,1
bcdedit /set testsigning on

参考文章
驱动开发配置:https://blog.csdn.net/Simon798/article/details/103264104
创建自签证书:https://blog.csdn.net/khqnlg/article/details/123950768
