DirectX修复工具出现0xc000007b错误——分析与解决
最后更新:2020-8-30
? ? ? ? 大家應該對DirectX修復工具并不陌生,該工具主要就是為了解決0xc000007b問題而設計的(如果之前不知道這個工具的,可以參看DirectX修復工具增強版介紹)。然而,近日接連出現很多用戶連DirectX修復工具也打不開,雙擊后也是提示0xc000007b錯誤(如下圖),難道是醫者不能自醫?這是怎么回事呢?
圖1. DirectX修復工具也出現0xc000007b錯誤(圖片由網友提供)?
問題描述:
? ? ? ? 先來詳細描述一下這個問題的現象。首先來說,系統里有很多程序都打不開,都是提示0xc000007b錯誤。其次,很多之前明明能打開的程序,突然之間也打不開了,提示0xc000007b錯誤。最后,奇怪的是,并不是所有文件都打不開,有的打得開,有的就死活打不開,提示0xc000007b錯誤。
? ? ? ? 這個問題排查花了很久,最主要的原因就是出現概率極小,在我的電腦不能復現。不過,感謝那些熱心的用戶,給我發郵件交流,并且讓我遠程查看,總算是發現了問題的癥結所在。在給這些用戶遠程時,我發現了一個問題,就是DirectX修復工具V3.8版的兩個程序DirectX Repair.exe和DirectX_Repair_win8_win10.exe大小應該分別是832KB和833KB,然而,當我給他們檢查時,發現在他們電腦里的大小分別是859KB和860KB(如本文圖1)。再用校驗碼校驗一下,果然檢驗值不同,換句話說,程序已經被修改了,所以會報0xc000007b錯誤打不開。
? ? ? ? 那么第一個問題就來了,是誰修改的程序呢?用戶反饋他們什么也沒操作,并不知道怎么回事。經過殺毒軟件的甄別,結果就一目了然了,程序是被病毒修改,文件已經面目全非,所以報錯無法打開。
? ? ? ? 那么第二個問題,為什么有的程序不受影響,有的程序就打不開呢?關于這點并沒有確鑿的證據,根據我的分析是這個病毒只能修改沒有數字簽名的文件,有數字簽名的文件它動不了,無法修改,所以還可以正常運行。所以這就是為什么一些Windows系統和微軟的應用還能運行,但是我的游戲、工業軟件、還有一些不知名的小程序運行不了了。微軟的程序有數字簽名,平時用的游戲exe程序、DirectX修復工具的exe程序沒有數字簽名,被這個病毒修改了,自然就運行不了了(原版的游戲可能有數字簽名,但是你用的破解補丁一定不是原版的,所以就沒數字簽名了)。
? ? ? ? 可能有人要問第三個問題,那把你的DirectX修復工具exe文件加上數字簽名不就可以了?其他所有的exe都加上數字簽名不就可以了?理論上確實是可以的,不過數字簽名需要很復雜的注冊、維護手續和費用,普通人是難以承受的,只有大的軟件公司才能承擔,所以說給所有exe都加上數字簽名還有一定的難度。
解決方法:
? ? ? ? Whatever,我不care這些過程了,最重要的一個問題,如何解決?解決辦法其實很簡單——殺毒!只要用你的殺毒軟件全盤掃描,把所有感染這個病毒exe文件中的病毒都清除掉,讓exe文件恢復原狀,就可以正常運行了。有人會問,我的殺毒軟件一直后臺在開著呢,沒提示有病毒啊?別太相信你的殺毒軟件,有的時候它確實沒有病毒能力強。你手動殺一下保證你有意外驚喜。另外,如果你正在用的殺毒軟件查不出病毒,那么建議換用別的殺毒軟件,應該也能解決。不過退一步來講,如果你的系統真是已經病入膏肓各種殺毒軟件都殺不掉的話,那么可能也只有重裝系統才能解決了。
? ? ? ? 解決方案都有了,那么就還剩最后一個問題了,究竟如何判斷到底是不是病毒感染造成的呢?對于新手或者說簡單點的方法,就是看DirectX修復工具exe文件的大小;對于老司機或者可靠點的方法,就是看DirectX修復工具exe文件的校驗碼(校驗工具鏈接)。如果文件大小或者校驗碼和官方標準的不一致(見下表),則可以認為是病毒修改了文件導致無法運行。下表是我梳理的歷代官方DirectX修復工具exe文件大小和校驗碼,供大家參考。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?歷代DirectX修復工具屬性信息一覽表*?
| ? | DirectX Repair.exe | DirectX_Repair_win8_win10.exe*** | ||||
| 大小** | MD5校驗碼 | SHA1校驗碼 | 大小 | MD5校驗碼 | SHA1校驗碼 | |
| V1.0 | 92KB | 48442db1d0745e9f33b8cf2bca6affbe? | 7d0fa836cdb31ca3d823852b4b0b3b7c3f9ff3c2 | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - | ||
| V1.2 | 304KB | bf2bca6dff839a5e99a6ba0e5784affd | 03084040cc48c80059f6dfd3f6139cbcf340398b | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - | ||
| V1.2.2 | 313KB | 252b64908944fad7223fee7bc5f2d643 | 97f3c97c21ea039530d5367ad96ec197d9241cf1 | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - | ||
| V2.0 | 348KB | 0c857395e6f7186bd2b7aa365f248745 | 3cd06fe01f2fb858f890ef5f90266a5c20396158 | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - | ||
| V2.1 | 344KB | 66b4b148ff46797aa3e3be82cbc0eb36 | 5fb75f83e929c7efe7a22bb2d3dd7575f524ca01 | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - | ||
| V2.5 | 360KB | 5133feb9a5e2c84dcf83747d4f083cd8 | 1aed870879ad848ba93fe166fe1999d086a07f60 | 361KB | e6ab6c164a9fbdbbc701f335c57a1ab2 | f0d2b3e9d88eecd5920f05d58c30cddd12cfc2ff |
| V3.0 | 337KB | 9e22e40f371dfe012b6d3dca4ad74753 | 48ed3b6d4afec4ac5efaa1c68df5bcacc67bf205 | 337KB | 651312055b4a5a2e472b233253523720 | e9f379182b7e2411fa0e2bbfdcae0bc430370fdf |
| V3.2 | 375KB | 5f1fdd4764d1fa5ed199740b82fe23cc | d418f994881071e1c329f0f98fe704f6a5bb4266 | 375KB | 6f4b9a69e43b9cc94a83d846b358518f | c36a871f337df152942e6ff52ac8c2d345e99025 |
| V3.3 | 500KB | bb4083808ea490f99c7d49cd5a0ac48b | ba8c4895204a21a03abca0b910372aa2fdad5c29 | 500KB | 7b6c063b5504a87682069a5680feb409 | 46c28ac769c3e8951b71e7f72ab9859568fe27d3 |
| V3.5 | 633KB | 529ecadde86c4baf3d5ca604002433ba | 6b6d177d6ad87a8d46e785e701f56b87fe814856 | 633KB | 38339cc7cb1cd26d3cb7b0d494023a08 | 24c391030f9c82ac029c9588162060f970b4a43d |
| V3.7 | 782KB | 0615325098da4e624ef854af60b56ba2 | 2c94acc2ffcbdf6b1162dd250a29dbdea044d926 | 782KB | 3da615350c74ceee68a7383c2aa5564b | 3b8bf4a59b073afd21276319e83a75832591f574 |
| V3.8 | 832KB | 496c0cabab27c3c46abcfb387d4cfc3d | a6b1900b92c5894d9ac27192fe6b1f7894a4925b | 833KB | 4ee7e568586f71f99b3a83a33894c894 | 4d7252eaa4ed68edb8e46334e0d072066a986dfd |
| V3.9 | 862KB | eeab9900cc4c10da8e6b786e5f79d09c | dbb71b10f5341cf6936381c70d43f3cd4e7edef3 | 862KB | 431fc2ebdb6ef4eb72f951700f8ed170 | e5462d3bcd84c14e01ca7d5d1d339dc9f3cc7710 |
| V4.0 | 1024KB | 16a1477a1e5e0cb16f1bcd3a1a01bf62 | b25543f6c60be291b86d13372de9e6fcd5446347 | 1024KB | 8a72de9bfabd230949a85b2a994df5c8 | 8d5a9fb87895e8f713aaed71dc687734abcc5946 |
*此表中僅列出已公開發行的版本,內測版、公測版、特別版等未公開發行的版本未作統計
**文件大小僅供參考,不同系統顯示的值可能略有區別。比如V3.9版,顯示862KB或者863KB都是正常的,但是如果顯示889KB等明顯大于正常的數值,則說明文件被篡改
***V3.5及之前版本的文件名為DirectX_Repair_win8.exe
?
? ? ? ? 最后插幾句題外話:網上可能會有一小部分人說,誒?怎么回事,怎么殺毒軟件檢測你的DirectX修復工具提示有病毒?其實DirectX修復工具本身是絕對不含病毒代碼的(要不然也發布不出來,各個軟件站在發布軟件的時候都有卡巴斯基檢測、瑞星檢測、360檢測、小紅傘檢測等一系列檢測,如果有病毒,軟件站也不會往外發的),而之所以你檢測到病毒了,是你把DirectX修復工具下到你的電腦里后,你電腦里的病毒把它感染了,而非本身就有病毒。相反,當你的殺毒軟件提示DirectX修復工具有病毒并自動清除病毒后, DirectX修復工具才恢復了本來的樣子,這時才可以在你的電腦上正常運行。所以如果你遇到了類似情況,不要主觀第一感覺認為就是DirectX修復工具的問題,相反,可能是你電腦本來的問題。
? ? ? ? 還有一種更可怕的情況,目前有一部分釣魚網站,專門蹭熱點發布一些熱門應用,但是他們提供的就是盜版的、有病毒的、別有用心的惡意程序。如果你不小心從這些釣魚網站下載了DirectX修復工具,中病毒導致電腦用不了是小,電腦里有的QQ微信網銀全被盜號也不是沒可能,對于這種情況大家一定要擦亮眼睛,至少目前我就發現了兩個盜版DirectX修復工具的情況,在這我就不點名了,只能跟大家說,去正規網站,或者我博客里鏈接到的下載地址(傳送門:標準版、增強版、在線修復版),應該可以說還是安全的。
?
總結:
? ? ? ? 導致0xc000007b問題眾多,一般情況下都可以通過使用DirectX修復工具增強版修復解決??墒侨绻BDirectX修復工具自己都出現0xc000007b錯誤,則極有可能是病毒修改了文件導致,可通過全盤殺毒,或換用其他殺毒軟件全盤殺毒解決。判斷是否為病毒作祟的方法是看DirectX修復工具exe文件的大小或者校驗碼是否和本文表格中的一致,不一致就是病毒修改導致(校驗工具鏈接)。
總結
以上是生活随笔為你收集整理的DirectX修复工具出现0xc000007b错误——分析与解决的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EEGLAB合辑 | 第一节 往E
- 下一篇: Linux使用strlen编译,strl