当前位置:首页 > VBcom > 正文

DirectX修复工具出现0xc000007b错误——分析与解决

简介DirectX修复工具专为解决0xc000007b问题而生,但如果连DirectX修复工具自己运行时都出现0xc000007b错...

        大家应该对DirectX修复工具并不陌生,该工具主要就是为了解决0xc000007b问题而设计的(如果之前不知道这个工具的,可以参看DirectX修复工具增强版介绍)。然而,近日接连出现很多用户连DirectX修复工具也打不开,双击后也是提示0xc000007b错误(如下图),难道是医者不能自医?这是怎么回事呢?

Error.JPG

图1. DirectX修复工具也出现0xc000007b错误(图片由网友提供)

 

问题描述:

        先来详细描述一下这个问题的现象。首先来说,系统里有很多程序都打不开,都是提示0xc000007b错误。其次,很多之前明明能打开的程序,突然之间也打不开了,提示0xc000007b错误。最后,奇怪的是,并不是所有文件都打不开,有的打得开,有的就死活打不开,提示0xc000007b错误。

        这个问题排查花了很久,最主要的原因就是出现概率极小,在我的电脑不能复现。不过,感谢那些热心的用户,给我发邮件交流,并且让我远程查看,总算是发现了问题的症结所在。在给这些用户远程时,我发现了一个问题,就是DirectX修复工具V3.7版的两个程序DirectX Repair.exe和DirectX_Repair_win8_win10.exe大小应该是782KB,然而,当我给他们检查时,发现在他们电脑里的大小分别是809KB(如本文图1)。再用校验码校验一下,果然检验值不同,换句话说,程序已经被修改了,所以会报0xc000007b错误打不开。

        那么第一个问题就来了,是谁修改的程序呢?用户反馈他们什么也没操作,并不知道怎么回事。经过杀毒软件的甄别,结果就一目了然了,程序是被病毒修改,文件已经面目全非,所以报错无法打开。

        那么第二个问题,为什么有的程序不受影响,有的程序就打不开呢?关于这点并没有确凿的证据,根据我的分析是这个病毒只能修改没有数字签名的文件,有数字签名的文件它动不了,无法修改,所以还可以正常运行。所以这就是为什么一些Windows系统和微软的应用还能运行,但是我的游戏、工业软件、还有一些不知名的小程序运行不了了。微软的程序有数字签名,平时用的游戏exe程序、DirectX修复工具的exe程序没有数字签名,被这个病毒修改了,自然就运行不了了(原版的游戏可能有数字签名,但是你用的破解补丁一定不是原版的,所以就没数字签名了)。

        可能有人要问第三个问题,那把你的DirectX修复工具exe文件加上数字签名不就可以了?其他所有的exe都加上数字签名不就可以了?理论上确实是可以的,不过数字签名需要很复杂的注册、维护手续和费用,普通人是难以承受的,只有大的软件公司才能承担,所以说给所有exe都加上数字签名还有一定的难度。


解决方法:

        Whatever,我不care这些过程了,最重要的一个问题,如何解决?解决办法其实很简单——杀毒!只要用你的杀毒软件全盘扫描,把所有感染这个病毒exe文件中的病毒都清除掉,让exe文件恢复原状,就可以正常运行了。有人会问,我的杀毒软件一直后台在开着呢,没提示有病毒啊?别太相信你的杀毒软件,有的时候它确实没有病毒能力强。你手动杀一下保证你有意外惊喜。另外,如果你正在用的杀毒软件查不出病毒,那么建议换用别的杀毒软件,应该也能解决。不过退一步来讲,如果你的系统真是已经病入膏肓各种杀毒软件都杀不掉的话,那么可能也只有重装系统才能解决了。

        解决方案都有了,那么就还剩最后一个问题了,究竟如何判断到底是不是病毒感染造成的呢?对于新手或者说简单点的方法,就是看DirectX修复工具exe文件的大小;对于老司机或者可靠点的方法,就是看DirectX修复工具exe文件的校验码(校验工具链接)。如果文件大小或者校验码和官方标准的不一致(见下表),则可以认为是病毒修改了文件导致无法运行。下表是我梳理的历代官方DirectX修复工具exe文件大小和校验码,供大家参考。


历代DirectX修复工具属性信息一览表* 


DirectX Repair.exe
大小**MD5校验码SHA1校验码
V1.0
92KB48442db1d0745e9f33b8cf2bca6affbe7d0fa836cdb31ca3d823852b4b0b3b7c3f9ff3c2
V1.2304KBbf2bca6dff839a5e99a6ba0e5784affd03084040cc48c80059f6dfd3f6139cbcf340398b
V1.2.2313KB252b64908944fad7223fee7bc5f2d64397f3c97c21ea039530d5367ad96ec197d9241cf1
V2.0348KB0c857395e6f7186bd2b7aa365f2487453cd06fe01f2fb858f890ef5f90266a5c20396158
V2.1344KB66b4b148ff46797aa3e3be82cbc0eb365fb75f83e929c7efe7a22bb2d3dd7575f524ca01
V2.5360KB5133feb9a5e2c84dcf83747d4f083cd81aed870879ad848ba93fe166fe1999d086a07f60
V3.0337KB9e22e40f371dfe012b6d3dca4ad7475348ed3b6d4afec4ac5efaa1c68df5bcacc67bf205
V3.2375KB5f1fdd4764d1fa5ed199740b82fe23ccd418f994881071e1c329f0f98fe704f6a5bb4266
V3.3
500KBbb4083808ea490f99c7d49cd5a0ac48bba8c4895204a21a03abca0b910372aa2fdad5c29
V3.5633KB529ecadde86c4baf3d5ca604002433ba6b6d177d6ad87a8d46e785e701f56b87fe814856
V3.7782KB0615325098da4e624ef854af60b56ba22c94acc2ffcbdf6b1162dd250a29dbdea044d926
V3.8832KB496c0cabab27c3c46abcfb387d4cfc3da6b1900b92c5894d9ac27192fe6b1f7894a4925b
V3.9862KBeeab9900cc4c10da8e6b786e5f79d09cdbb71b10f5341cf6936381c70d43f3cd4e7edef3
V4.01024KB16a1477a1e5e0cb16f1bcd3a1a01bf62b25543f6c60be291b86d13372de9e6fcd5446347
V4.11040KB554d12faa10e3b00edca22bae9edacf3206a3b9baddd47c77e2f9616adfb9e579aaf9cf0
V4.21044KBf61358dffab6bfb11683d21f7d5de6c974aab8f93add1de58b8d3ed0ed1d1faa38d964a8

 *此表中仅列出已公开发行的版本。内测版、公测版、特别版等未公开发行的版本未作统计

**文件大小仅供参考,不同系统显示的值可能略有区别。比如V3.9版,显示862KB或者863KB都是正常的,但是如果显示889KB等明显大于正常的数值,则说明文件被篡改


        最后插几句题外话:网上可能会有一小部分人说,诶?怎么回事,怎么杀毒软件检测你的DirectX修复工具提示有病毒?其实DirectX修复工具本身是绝对不含病毒代码的(要不然也发布不出来,各个软件站在发布软件的时候都有卡巴斯基检测、瑞星检测、360检测、小红伞检测等一系列检测,如果有病毒,软件站也不会往外发的),而之所以你检测到病毒了,是你把DirectX修复工具下到你的电脑里后,你电脑里的病毒把它感染了,而非本身就有病毒。相反,当你的杀毒软件提示DirectX修复工具有病毒并自动清除病毒后, DirectX修复工具才恢复了本来的样子,这时才可以在你的电脑上正常运行。所以如果你遇到了类似情况,不要主观第一感觉认为就是DirectX修复工具的问题,相反,可能是你电脑本来的问题。

        还有一种更可怕的情况,目前有一部分钓鱼网站,专门蹭热点发布一些热门应用,但是他们提供的就是盗版的、有病毒的、别有用心的恶意程序。如果你不小心从这些钓鱼网站下载了DirectX修复工具,中病毒导致电脑用不了是小,电脑里有的QQ微信网银全被盗号也不是没可能,对于这种情况大家一定要擦亮眼睛,至少目前我就发现了两个盗版DirectX修复工具的情况,在这我就不点名了,只能跟大家说,去正规网站,或者我博客里链接到的下载地址(传送门:标准版增强版在线修复版),应该可以说还是安全的。


总结:

        导致0xc000007b问题众多,一般情况下都可以通过使用DirectX修复工具增强版修复解决。可是如果连DirectX修复工具自己都出现0xc000007b错误,则极有可能是病毒修改了文件导致,可通过全盘杀毒,或换用其他杀毒软件全盘杀毒解决。判断是否为病毒作祟的方法是看DirectX修复工具exe文件的大小或者校验码是否和本文表格中的一致,不一致就是病毒修改导致(校验工具链接)。


发表评论