众所周知,威金类病毒,通常会感染计算机内的可执行文件。
通过一些观察我们可以发现此间病毒的原理是文件捆绑,所以理论上所有的可执行文件都会被感染的。因此中过此类病毒后,所有的程序都必须更新一下避免重蹈覆辙。但是在被感染的文件中我们发现这样一个奇特的现象——有些图标被模糊了。
中毒的图标(图1)
正常的图标(图2)
这是什么原因造成的呢?怀着这个疑问,我于是打开了原始程序的图标。
不难看出图中的图标就是中毒后显示的图标,然而这个文件并未中毒何来中毒之谈?原来啊图标设计者或者应为负责,或者是设计习惯,通常都会建立多个图标以便在不同的系统环境,不同的图标显示大小中来正确的,清晰的显示图标,因此都会建立多种图标色彩模式,多种形状大小。
我们看看原始图标的样子,以便对图标大小的概念更加深刻些。
理解了这些,我们为接下来病毒捆绑的原理做一些讲解。病毒捆绑即打包合并正常文件的时候,通常会读取正常文件的图标,这时它会选择读取到的文件的第一个图标,也就是我们如图2所见到的图标。
这样的话如果有些文件的第一位置图标很小,那么在当你的屏幕显示图标大小大于该图标的大小那么该图标便会被放大。你也许会问,为什么有些图标并不会变的模糊,下面将用一个实例进行简单讲解。
在上面两张图中,我们看到两个相同的图标,一个是中了毒的文件的图标,另一个是正常文件的图标。但是没有什么不同啊?
的确是如此。根据上一小段,我们了解到了病毒读取图标的一些方式,那我们可不可以这样猜想,该文件图标的设计者只为该文件设定了256色的图标,而没考虑16色的图标?
由此图,我们的结论得到了证实。
聪明的读者可能想到,为什么(图1)中的“单位换算小精灵.exe”这个软件它的图标没了,变成一个奇怪的图标,而且如果机器中过毒的朋友不难发现,有些文件的图标都变成了那种奇怪的样子?他们难道有什么相同的地方?他们难道是病毒作者的恶搞?我们依然遵循前文的思想,打开看看正常文件的图标。
由上图不难发现,该文件图标的作者居然没为图标制作第二张不同大小或者色彩模式的图标,只是为文件建了一个图标。
或许是病毒编写者的疏忽,他所编写的病毒捆绑无法识别只有一个图标的文件的图标,“认为此文件没有图标”,因此就用自制的图标替代上了。
由此最终证明我们最初的猜想,病毒编写者只染毒文件设定了一种图标色彩模式,和一种形状大小,而没有完整考虑到不同系统环境的图标显示情况。从而造成了病毒感染文件后,文件图标会变模糊这一现象。