32位/64位WINDOWS驱动之蓝屏问题修复
驱动层代码
进程保护安装代码写在用户层
加载和卸载时的调用删除掉。
卸载进程保护时添加了句柄清零的代码
gs_HandleCallback = NULL;
给安装内存保护名字换成安装进程保护,
、注意MFC应用里面的驱动名要及时替换成新的驱动名;
蓝屏原因是因为上节课的破解驱动签名的原因,注释掉破解驱动签名的代码
代码如下:
//PKLDR_DATA_TABLE_ENTRY pobj = (PKLDR_DATA_TABLE_ENTRY)DriverObject->DriverSection;
//pobj->Flags |= 0x20;
右击项目,选择属性;
选中配置属性中的链接器,点击命令行;
在Debug 和Release都加上
在命令行去掉/INTEGRITYCHECK
然后给自己的驱动加上签名。
步骤:打开签名工具-证书管理-导入-选择证书-输入证书密码-确定-点击签名规则-添加规则-名称随意-证书-和SHA2证书随便选择- 添加-数字签名-添加你要签名的驱动-数字签名-驱动模式内核签名。
然后就可以在驱动-属性-数字签名里面看到驱动已经签名了。
虚拟机安装卸载就不会出现蓝屏或者出现系统问题
虚拟机调试结果:
以上就是修复蓝屏的全部过程了。
总结是破解驱动签名导致的蓝屏。