win7关闭驱动签名,进入驱动测试模式
- win7、win10关闭驱动签名、进入驱动测试模式
- DebugView工具运行提示"Dbgv.sys: 拒绝访问"
- 驱动项目配置属性常用设置
- 驱动中KdPrint打印UNICODE_STRING字符串常用方法
- 没使用的变量在编译时报警告:未引用的形参
- 错误 MSB8040缓解Spectre 漏洞的库以及输出SXS.DLL的垃圾信息
win7、win10关闭驱动签名、进入驱动测试模式
以下3种方式,一步一步来,方式一操作一遍后还不行,就继续操作方式二,还不行的话继续方式三。
方式一:
(1)管理员权限运行cmd,输入bcdedit /set testsigning on和bcdedit /Debug on,开启测试模式和调试模式。
输入bcdedit /dbgsettings查看设置情况。
(2)驱动程序项目的配置属性,Driver Signing里的Sign Mode改为Test Sign。
(3)运行,gpedit.msc,用户配置,管理模板,系统,驱动程序安装,鼠标右击"设备驱动程序的代码签名"图标,选择"编辑"项,勾选"已启用"单选框,选择"选项→忽略"项。
方式二:批处理文件实现:管理员权限打开win7-win10驱动测试模式
bcdedit /set nointegritychecks on
bcdedit /set testsigning on
shutdown -r -t 1000
以上这段命令可以保存到一个.bat或.cmd格式文件里方便执行。
方式三:
先把虚拟机中的操作系统切换到测试模式,具体步骤如下:
① 在虚拟机中以管理员身份通过【win+R】 --> 【cmd】 打开DOS控制台。
② 输入命令【bcdedit /set testsigning on】 开启系统测试模式。
③ 输入命令【bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS】,关闭系统的强制校验驱动签名功能。
④ 重启系统使得②③设置生效。若设置成功,重启后在桌面右下角会出现当前系统为测试模式的水印;某些系统会屏蔽这个水印,此时可以通过命令【bcdedit /enum】确认testsigning的值是否为Yes以判断系统当前是否处于测试模式。
参考:
http://www.ujiaoshou.com/xtjc/094420355.html
https://ask.zol.com.cn/x/8598130.html
DebugView工具运行提示"Dbgv.sys: 拒绝访问"
问题:虚拟机中观察调试信息的DebugView工具,如果运行提示“C:\Windows\system32\Drivers\Dbgv.sys: 拒绝访问”。
解决方法:
将DebugView工具复制到"C:\Windows\system32\Drivers"目录下面,发送一个该应用程序的快捷方式到桌面上运行就行了。
驱动项目配置属性常用设置
- 调整属性 - C/C++ - 常规,警告等级 4,将警告视为错误 否;
- 链接器 - 常规,警告视为错误 否;
- Driver Settings - General,Target OS Version改成Windows 7,Target Platform改为Desktop;
- Stampinf里所有 是 的地方改成 否;
- Inf2Cat里所有 是 的地方改成 否;
- Driver Signing - General中的Sign Mode改为 Test Sign。
参考:
http://www.manongjc.com/detail/56-jhctcpdeofdpczh.html
驱动中KdPrint打印UNICODE_STRING字符串常用方法
KdPrint(("zp:RegistryPath=%wZ\n", RegistryPath));
KdPrint(("zp:RegistryPath=%ws\n", RegistryPath->Buffer));
KdPrint(("zp:RegistryPath=%s\n", RegistryPath->Buffer)); //输出不了,%s是输出多字节的,内核中都是宽字符
KdPrint(("zp:RegistryPath=%S\n", RegistryPath->Buffer));
没使用的变量在编译时报警告:未引用的形参
例如:警告 C4100 “RegistryPath”: 未引用的形参 MyDriver001 C:\Users\Administrator\source\repos\MyDriver001\Driver.c。
解决方法:
给每个未使用的形参使用宏UNREFERENCED_PARAMETER。
UNREFERENCED_PARAMETER(RegistryPath);
或者使用一下即可(占位):
RegistryPath;
错误 MSB8040缓解Spectre 漏洞的库以及输出SXS.DLL的垃圾信息
链接:https://blog.csdn.net/zhaopeng01zp/article/details/128222988