前段時間,發現電腦讀硬盤異常,就不斷去查找異常進程,結束了多個讀硬盤數據較多的陌生進程,最後打開資源管理器,發現了大問題,自己電腦中的文件夾突然都變成了回收站。
打開後原本的文件都變成了回收站中的垃圾文件。清空回收站,再打開後,裡面所有文件和文件夾都沒有了。但是從文件屬性中可以看到原來的數據還是在的。最後通過好壓浏覽到丟失文件,文件走在原來的地方,還發現每個文件夾裡都多了一個名文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位數據按位取反修改,最後發現文件修復好了,至此,我們已經找到了這個病毒破壞我們的文件的算法。
最後根據這個算法寫了個修復程序,寶貴數據又回來