眾所周知,威金類病毒,通常會感染計算機內的可執行文件。
通過一些觀察我們可以發現此間病毒的原理是文件捆綁,所以理論上所有的可執行文件都會被感染的。因此中過此類病毒後,所有的程序都必須更新一下避免重蹈覆轍。但是在被感染的文件中我們發現這樣一個奇特的現象——有些圖標被模糊了。
中毒的圖標(圖1)
正常的圖標(圖2)
這是什麼原因造成的呢?懷著這個疑問,我於是打開了原始程序的圖標。
不難看出圖中的圖標就是中毒後顯示的圖標,然而這個文件並未中毒何來中毒之談?原來啊圖標設計者或者應為負責,或者是設計習慣,通常都會建立多個圖標以便在不同的系統環境,不同的圖標顯示大小中來正確的,清晰的顯示圖標,因此都會建立多種圖標色彩模式,多種形狀大小。
我們看看原始圖標的樣子,以便對圖標大小的概念更加深刻些。
理解了這些,我們為接下來病毒捆綁的原理做一些講解。病毒捆綁即打包合並正常文件的時候,通常會讀取正常文件的圖標,這時它會選擇讀取到的文件的第一個圖標,也就是我們如圖2所見到的圖標。
這樣的話如果有些文件的第一位置圖標很小,那麼在當你的屏幕顯示圖標大小大於該圖標的大小那麼該圖標便會被放大。你也許會問,為什麼有些圖標並不會變的模糊,下面將用一個實例進行簡單講解。
在上面兩張圖中,我們看到兩個相同的圖標,一個是中了毒的文件的圖標,另一個是正常文件的圖標。但是沒有什麼不同啊?
的確是如此。根據上一小段,我們了解到了病毒讀取圖標的一些方式,那我們可不可以這樣猜想,該文件圖標的設計者只為該文件設定了256色的圖標,而沒考慮16色的圖標?
由此圖,我們的結論得到了證實。
聰明的讀者可能想到,為什麼(圖1)中的“單位換算小精靈.exe”這個軟件它的圖標沒了,變成一個奇怪的圖標,而且如果機器中過毒的朋友不難發現,有些文件的圖標都變成了那種奇怪的樣子?他們難道有什麼相同的地方?他們難道是病毒作者的惡搞?我們依然遵循前文的思想,打開看看正常文件的圖標。
由上圖不難發現,該文件圖標的作者居然沒為圖標制作第二張不同大小或者色彩模式的圖標,只是為文件建了一個圖標。
或許是病毒編寫者的疏忽,他所編寫的病毒捆綁無法識別只有一個圖標的文件的圖標,“認為此文件沒有圖標”,因此就用自制的圖標替代上了。
由此最終證明我們最初的猜想,病毒編寫者只染毒文件設定了一種圖標色彩模式,和一種形狀大小,而沒有完整考慮到不同系統環境的圖標顯示情況。從而造成了病毒感染文件後,文件圖標會變模糊這一現象。