1、问题表现
最近忽然出现Chrome无法打开任何网页。打开浏览器首先看到各种插件提示崩溃且无法使用,同时地址栏输入任何地址,页面都是提示STATUS_INALID_IMAGE_HASH
的错误。出现当天,使用Edge还可以访问,不过隔了一天Edge也开始提示一样的错误,不过Edge有提示一个多了一个 发布者: T.E.C Solutions 的相关信息
去事件查看器查看,可以看到Chrome跟Edge提示的都是跟加载的一些dll的签名不符合Microsoft签名要求(按微软社区回复的应该是IP-guard造成的)
// Chrome
Code Integrity determined that a process (\Device\HarddiskVolume1\Program Files (x86)\Google\Chrome\Application\chrome.exe) attempted to load \Device\HarddiskVolume1\Windows\System32\winhafnt64.dll that did not meet the Microsoft signing level requirements.
// Edge
Code Integrity determined that a process (\Device\HarddiskVolume1\Program Files (x86)\Microsoft\Edge\Application\msedge.exe) attempted to load \Device\HarddiskVolume1\Windows\System32\winhafnt64.dll that did not meet the Microsoft signing level requirements.
2、网上的各种解决方法
网上给到的主要几个方案分别如下:
- 清除Chrome的用户数据
最好先备份,路径在<username>\AppData\Local\Google\Chrome\User Data
下,删除该目录后,再次打开Chrome就没有任何用户相关的数据(插件、书签、登录用户数据等)。删除后,打开Chrome仍然提示报错。
- RendererCodeIntegrity 注册表禁用
以管理员权限运行如下命令
REG ADD "HKLM\Software\Policies\Google\Chrome"/v RendererCodeIntegrityEnabled /t REG_DWORD /d 0
上面这个处理方式时很早之前真的windows和Chrome兼容造成的,所以最近出现的问题,用此方法大概率是没有任何用的
-
使用兼容模式运行
在Chrome/Edge右键-属性,并选择兼容模式windows 8,这个方式,打开浏览器最上面有个黑框,点到黑框上的关闭,还要重新选择兼容模式(这种方式我尝试也是可以让浏览器临时用起来)
-
–disable-gpu模式
尝试了无任何用处
-
-no-sandbox模式
-
标签页输入:chrome://flags/ 进入搜索 Extensions on chrome:// URLs 选项设置为开启(推荐)
-
以-no-sandbox模式运行Chrome,肯定是可以继续使用浏览器,只是每次打开地址栏下方有个不安全的提示,临时使用,查找解决该问题,验证各个解决方法是否有用,不断的通过添加/移除的-no-sandbox的方式来确认方法是否真的有效。 "C:\Program Files\Google\Chrome\Application\chrome.exe" --no-sandbox(推荐)
- 其他的方法
还有一些改名字、删除cache等方法,改名字我尝试过一次,有一次打开ok,但是第二次好像是不行来着,不过没有多尝试,毕竟改名字这种,显然不是真的解决了问题;
删除cache的方式,在使用-no-sandbox时用过,当时没仔细验证,不过大概率也是没有用的
3、彻底解决方案
在这篇文章中,作者提到了在-no-sandbox模式下,在浏览器里面输入chrome://conflicts#R
查看那些dll随着浏览器打开时启动,并且签名不是Google或Microsoft的,通过这个打开,又看到了很多dll是由T.E.C Solutions (G.Z.)Limited
签名的,之前事件查看器中看到就看到过T.E.C
相关的字样。
搜索T.E.C Solutions (G.Z.)Limited
指向的是IP-Guard
,但是我自己电脑肯定没装过这个软件,但是搜如何删除它,发现的确很多文件在机器上都有(可能是装的系统带的)。
接下来就是如何删除这些文件了,找的网上T.E.C
的文件打开在如下几个位置:
C:\Program Files\CommonFiles\System
C:\Program Files(x86)\CommonFiles\System
C:\WINDOWS
C:\WINDOWS\system32
C:\WINDOWS\system32\drivers
C:\WINDOWS\SysWOW64
这些目录下,勾选文件显示信息公司
(在名称
/修改日期
那一栏,右键选择其他
,并找到公司
,并勾选),来定位出需要删除的文件(不要用什么文件粉碎机,基本删不干净,这个IP-Guard简直流氓,不清理干净,删几个文件一会就会继续恢复了之前删除的文件,我直接用U盘启动,PE下删除的)
删除所有文件后,再使用autoruns 工具,打开并删除相关没 找到文件的配置。
这下再移除-no-sandbox后也终于可以正常使用Chrome和Edge了。