CRITICAL_STRUCTURE_CORRUPTION(109)蓝屏错误的分析难点

导致这个蓝屏反复出现的直接原因是PatchGuard内核保护被触发了。

根本原因多种多样,可能是:

①腾讯电脑管家TSDefenseBT64.sys曾出过此bug,还有腾讯游戏的TP曾经多次出现此问题(如果某天玩腾讯游戏出现此蓝屏的,可以到游戏官方论坛看看)

②病毒、木马或流氓软件引发的(印象中有小易记事本、2345浏览器),可以通过反病毒软件来解决(比如360急救箱)

③装了不适用新系统的老版本软件(杀毒软件/虚拟机/安卓模拟器/驱动)

④装了游戏外挂,外挂作者如果疏忽/水平不够也有可能触发PatchGuard导致不定时蓝屏

硬件有问题(非常罕见)

PatchGuard的正名是Kernel Patch Protection,它是Windows内核的一种自我保护措施,大体上就是内核版的“CRC32自校验”……

它的原理是在内核里埋设一些自我检查的代码,不定时检查内核有没有被篡改,如果发现篡改就会主动触发蓝屏。

Win7下,蓝屏代码显示为十六进制代码形式0x00000109

Win8以后,蓝屏代码显示为字符串形式CRITICAL_STRUCTURE_CORRUPTION(其实对应的还是Bugcheck 109)。

微软在不断改进PatchGuard,严格程度Win10>Win8.1>Win7——因此,可以理解为何会出现原先Win7不蓝屏,升级Win8、Win10后开始蓝屏的现象。

这种蓝屏大多不能通过WinDbg、BlueScreenView打开dump看Probably caused driver和Call stack的方法来定位具体的故障源头(即便开启了完全内存转储),需要做现场排查。

精彩案例分析一:(来源:360安全团队)

CRITICAL_STRUCTURE_CORRUPTION(109)蓝屏错误的分析难点

精彩案例分析二:(作者:lee_zhou

https://blog.csdn.net/qq_35206244/article/details/113805925

 

精彩案例分析三:(作者:张佩)

https://blog.csdn.net/blog_index/article/details/9700667

最后一段指出:系统的KPP一直在系统中运行着,它不保证当问题发生的时候,马上就抓到它。但它保证,只要问题存在足够长的时间(可能要经过几个小时,也可能只需几分钟),KPP就一定能够抓到它

上一篇:Maven-打包jar指定main函数所在类的一个例子


下一篇:Maven 各种花式构建,不用 SpringBoot 也能打出可执行 Jar 包