CIH病毒主要感染Windows 95/98/Me的可执行程序,发作时破坏计算机Flash BIOS芯片中的系统程序,导致主板损坏,同时破坏硬盘中的数据。病毒发作时,硬盘驱动器不停地旋转,病毒程序以2048个扇区为单位,从硬盘主引导区开始依次往硬盘中写入垃圾数据,直到硬盘数据被全部破坏为止。硬盘上所有数据(包括分区表)被破坏,必须重新分区才能有可能挽救硬盘。同时,对于部分厂牌的主板,如技嘉和微星等,会将Flash BIOS 中的系统程序破坏,造成开机后系统无反应。
CIH病毒是1998年8月从台湾传入国内的,共有五个版本,各种不同版本随时间而发展,不断完善,其发展历程如下:
(1)CIH病毒1.0版
最初的1.0版只有 656个字节,雏形显得比较简单,与普通类型的病毒在结构上并无多大的改善,其最大的特点是可感染Microsoft Windows PE类可执行文件,被其感染的程序文件长度增加,1.0版的CIH病毒还不具有破坏性。
(2)CIH病毒1.1版
当CIH病毒发展到1.1版本时,病毒长度为796个字节,该版本的CIH病毒具有判断Windows NT软件的功能,一旦判断用户运行的是Windows NT,则不发生作用,进行自我隐藏,以避免产生错误提示信息,同时使用了更加优化的代码,以缩减其长度。
1.1版CIH病毒的另外一个改进点在于其可以利用Windows PE类可执行文件中的“空隙”, 将自身根据需要分裂成几个部分后,分别插入到PE类可执行文件中,这样做的优点是在感染大部分Windows PE类文件时,不会导致文件长度增加。
(3)CIH病毒1.2版
当CIH病毒发展到1.2版时,除改正了一些1.1版的缺陷之外,同时增加了破坏用户硬盘以及用户机器BIOS程序的代码,这一改进,使其步入恶性病毒的行列,1.2版的CIH病毒体长度为1003个字节。
(4)CIH病毒1.3版
1.2版CIH病毒最大的缺陷在于当其感染ZIP自解压包文件时,将导致此ZIP压缩包在自解压时出现下列错误警告信息:
WinZip Self-Extractor header corrupt. Possible cause: disk or file transfer error.
1.3版CIH病毒显得比较仓促,其改进点便是针对以上缺陷的,它的改进方法是: 一旦判断开启的文件是WinZip类的自解压程序,则不进行感染。同时,此版本的CIH病毒修改了病毒发作时间,由原来的4月26日改为6月26日。1.3版CIH病毒长度为1010个字节。
(4)CIH病毒1.4版
1.4版CIH病毒改进了以前几个版本中的缺陷,不感染ZIP自解压包文件,同时也修改了发作日期,由6月26日改为每月的26日,增加了病毒发作的频率。还修改了病毒中的版权信息(版权信息被更改为:“CIH v1.4 TATUNG”,在以前版本中的相关信息为“CIH v1.x TTIT”),1.4版CIH病毒长度为1019字节。
如前所述,CIH病毒创造了病毒历史上的几个第一,具有十分强大的破坏力,该病毒的发作给全世界造成了不可估量的损失。那么,具有如此之大“杀伤”力的代码是如何编写出来的呢?下面,我们以CIH病毒的1.4版为实例,分析其部分核心代码。
以上就是病毒程序源码实例剖析-CIH病毒[1]的内容,更多相关内容请关注PHP中文网(www.php.cn)!