前段時間,發現電腦讀硬碟異常,就不斷去查詢異常程式,結束了多個讀硬碟資料較多的陌生程式,最後開啟資源管理器,發現了大問題,自己電腦中的資料夾突然都變成了回收站。
開啟後原本的檔案都變成了回收站中的垃圾檔案。清空回收站,再開啟後,裡面所有檔案和資料夾都沒有了。但是從檔案屬性中可以看到原來的資料還是在的。最後透過好壓瀏覽到丟失檔案,檔案走在原來的地方,還發現每個資料夾裡都多了一個名文desktop.ini的檔案,嘗試把它刪除,刪除後資料夾能夠正常顯示,但是屬性變成了受操作系統保護,透過命令提示符把幾個重要的資料夾恢復正常。
找到原來的檔案後,卻發現檔案無法正常開啟。無論是充滿回憶的照片,辛辛苦苦寫出來的程式碼,壓縮包還是重要的文件無法倖免。還有在歌曲列表中歌曲都不存在,開啟相應的資料夾,歌曲檔案都存在。經過對比發現檔名尾,也就是小數點前多了個空格,導致檔名不同了,原有的檔案路徑都失效。
由於大部分資料夾包括子資料夾和檔案都變成這樣,一個一個修復工作量很大,根據病毒症狀到網路上找解決方法,金山毒霸說可以解決這可問題,稱電腦感染了一種新的木馬病毒——“文件終結者2”,該類現象是由於“文件終結者2”感染電腦後,遍歷電腦中的資料夾,將資料夾轉變成為回收站,導致開啟後直接顯示回收站中的垃圾檔案,並破壞資料夾中的非PE檔案(如word、excel等)。可見無論怎樣操作,電腦中的檔案都無法正常使用。
裝了個金山毒霸,結果金山毒霸只是殺了毒,把小部分資料夾修復了,但是被破壞的檔案一個都沒有修復。寶貴的資料就這樣被毀滅了?沒那麼容易,肯定有方法的。嘗試開啟各個不同型別的檔案,只有MP3檔案,ZIP格式的壓縮檔案可以正常開啟,文字檔案可以開啟,但存在亂碼。
研究一下各型別的文字文件,得出了一個規律,所有的文字文件前幾行亂碼,剩下的正常。可以猜到病毒只是對檔案做了一些少修改,具體演算法有待進一步研究。
研究方法:找兩個相同的的檔案,一個完整沒有被病毒損壞,一個被病毒破壞的,以二進位制的形式開啟,研究被破壞的檔案被修改部分的每一位的變化。
準備工作:
1.二進位制編輯器,推薦兩個,winhex和 UltraEdit-32,winhex小巧靈活,開啟檔案速度快,修改檔案很方便;而UltraEdit-32功能齊全,既是文字編輯器,十六進位制編輯器,支援各種程式語言的編輯,同時有各種各樣的功能,其中有一個很好用的功能就是檔案對比功能,可以很快的發現兩個檔案之間相同和不相同的部分。
2.與被破壞的檔案一樣的檔案,這個容易,找一個在網上下載到的又被損壞檔案,然後再去網上下載一個,這樣就得到兩個來源有相同檔案,但有一個是被病毒損壞的。
現在開始分析檔案,用UltraEdit-32開啟準備好的兩個檔案,然後使用UltraEdit-32的檔案對比功能,開啟之後發現兩個檔案的資料只有前0X64位是不相同的,其它部分都相同,也就是說病毒至修改了檔案前0X64位的資料。
至於病毒是透過什麼演算法修改了檔案,我們接下來就是分析兩個檔案不同部分的差異,還有這個病毒修改檔案的演算法比較簡單,熟悉十六進位制數的人分析這些資料,很快就可以發現,不同部分是按位取反的。
為了驗證這個研究結果的正確性,我隨便找了一個檔案,用winhex開啟,以十六進位制方式編輯,把前檔案的0X64位資料按位取反修改,最後發現檔案修復好了,至此,我們已經找到了這個病毒破壞我們的檔案的演算法。
最後根據這個演算法寫了個修復程式,寶貴資料又回來