欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

病毒程序源码实例剖析-CIH病毒[1]

程序员文章站 2024-02-11 09:09:40
...
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)!