Windows7驱动打印设置及强制签名

1、设置 Dbgview
在Windows7下面(包括Win7的64位系统)调试驱动时会发现DbgPrint(DbgPrint使用方法参考[1])打印的内容并没有在DbgView里面显示出来,但是你可能有若干证据表明,相关代码肯定已经运行过了。使用Windbg进行双击调试时也没有内容打印在调试器里面。其实文档[2]里面已经有说明了:
In Microsoft Windows Server 2003 andearlier versions of Windows, the DbgPrint and KdPrint routines send messages to the kernel debuggerunconditionally. In Windows Vista and later versions of Windows, these routinessend messages conditionally, like DbgPrintEx and KdPrintEx. Whichever version of Windows you are using, youshould use DbgPrintEx, vDbgPrintEx,vDbgPrintExWithPrefix, and KdPrintEx,because these routines enable you to control the conditions under which themessage is sent.
简言之,就是系统对这种调试信息的输出设置了限制。
要解除这种限制(当然主要是开发人员为了调试的方便),更改(增加)如下的注册表信息即可解决。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug PrintFilter]
“DEFAULT”=dword:0000000f
使用注册表导入的方式,可能导入失败,建议查看下是否在对应的注册表位置是否已经建立了相关的键值,或者干脆手工输入,也很简单。

设置 Dbgview 如下图:
这里写图片描述
设置注册表:
编辑一个记事本文件 内容为:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Debug PrintFilter]
“DEFAULT”=dword:00000008
保存为.reg格式。如下图:
这里写图片描述
双击 ss.reg 跳出提示框 点击 是
得到结果:
这里写图片描述
2、驱动签名关闭
从Vista开始(当然我们主要关注Windows7),系统要求驱动程序都必须有数字签名,否则无法正常使用,普通目录下的驱动如果没有签名,直接加载失败,而boot型的驱动,如果之前是有签名的,你替换成无签名的,那么重启之后直接会进入系统文件修复给你修复成原来的文件。这对于开发人员来说非常不方便。有两个解决方案:
a、进去系统时,按下F8进入Window7的启动选择模式,选择“禁用驱动程序签名强制”或者“调试模式启动”,本次有效。
b、使用windbg双机联调模式时,“驱动程序签名强制”是禁用的。
c、网上的方案,把驱动签名强制要求直接关闭,通过管理员权限启动CMD,然后输入命令:bcdedit.exe -set loadoptionsDDISABLE_INTEGRITY_CHECKS 使用这种方式之后是一直生效的,系统安全性会打折扣,虚拟机就无所谓,如果是真机,建议适当的时候再打开。可以简单删除即可,运行命令:bcdedit -deletevalue loadoptions。其实可以EasyBCD工具来修改(原理一样)。不过需要注意的是我在win7 x64 sp1系统用这种方式来测试,从来没成功过,后来查了下是因为装了SP1(或者某些补丁)之后,会导致该方法失效。
d、bcdedit.exe -setTESTSIGNING ON,该方法有副作用,会在桌面留水印,同时还有和c方案同样的问题。

转载地址:http://blog.csdn.net/magictong/article/details/38277081#comments

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下内容假设你是以管理员权限运行WIN7. ——>>没有UAC提示,没有“以管理员身份运行”提示,或其他类似的提示…<<—— 如何使用: 解压存档的内容到任意位置...按顺序执行: 文件名称 说明: ---------------------------------------------------------------------------------------------- 1.cmd (批处理文件,为你创建一个新的BCD项) 2.exe (字节补丁,使用dUP2...修改复制NTOSKRNL和WINLOAD) 3.cmd (批处理文件,修改后的文件会拷贝到\Windows\System32) checksum.exe (这可以解决PE校验,所以在启动时不会收到0xC0000221的错误。) ---------------------------------------------------------------------------------------------- 按顺序运行1,2,3即可。然后可以安全地删除这些文件。不需要运行checksum.exe,它已经在3.cmd中运行。 重新启动计算机,选择“PatchGuard Disabled v2”启动项来启动系统... 这将允许加载未签名的X64位驱动,挂钩NTOSKRNL,进程隐藏,等 如果有任何建议,或者问题?通过论坛与我联系! 如何卸载: ---------------------------------------------------------------------------------------------- 以管理员权限打开CMD.EXE并输入: bcdedit /delete {46595952-454E-4F50-4747-554944FEEEEE} 然后在\Windows\System32\下删除:ntkrnlmp.exe 和 osload.exe ---------------------------------------------------------------------------------------------- 若不想禁用 WIN7 X64内核保护/驱动签名,开机时选择“Windows 7”启动项即可。 永远记住这一点:这个补丁是为逆向工程和64位内核模式的探索。 这不是为最终用户…如果你不理解“是什么”或“为什么”——请不要使用它。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值