标题：CIH_14
CIH病毒简介
CIH病毒是一位名叫陈盈豪的台湾大学生所编写的，从台湾传人大陆地区的。CIH的载体是一个名为“ICQ中文Ch_at模块”的工具，并以热门盗版光盘游戏如“古墓奇兵”或Windows95/98为媒介，经互联网各网站互相转载，使其迅速传播。目前传播的主要途径主要通过Internet和电子邮件，当然随着时间的推移，其传播主要仍将通过软盘或光盘途径。CIH病毒属文件型病毒，其别名有Win95.CIH、Spacefiller、 Win32.CIH、PE_CIH，它主要感染Windows95/98下的可执行文件(PE格式，Portable Executable Format)，目前的版本不感染DOS以及WIN 3.X(NE格式，Windows and OS/2 Windows 3.1 execution File Format)下的可执行文件，并且在Win NT中无效。其发展过程经历了v1.0，v1.1、v1.2、v1.3、v1.4总共5个版本，目前最流行的是v1.2版本，在此期间，据某些报导，同时产生了不下十个的变种， 不过好象没有流行起来的迹象，本人并未实际接触到这些所谓的CIH变种病毒。
但该病毒在Windows NT下不工作。该病毒在每月的26日被激活，它包含以下文本： CIH v1.4 TATUNG。
CIH病毒传播的主要途径是Internet和电子邮件，当然随着时间的推移，它也会通过软盘或光盘的交流传播。据悉，权威病毒搜集网目前报道的CIH病毒， “原体”加“变种”一共有五种之多，相互之间主要区别在于“原体”会使受感染文件增长，但不具破坏力；而“变种”不但使受感染的文件增长，同时还有很强的破坏性，特别是有一种“变种”，每月26日都会发作。
CIH病毒只感染Windows 95/98操作系统，从目前分析来看，它对DOS操作系统似乎还没有什么影响，所以，对于仅使用DOS的用户来说，这种病毒似乎并没有什么影响，但如果是 Windows 95/98用户就要特别注意了。正是因为CIH独特地使用了VxD技术，使得这种病毒在Windows环境下传播的实时性和隐蔽性都特别强，使用一般反病毒软件很难发现这种病毒在系统中的传播。
CIH病毒“变种”在每年4月26日（有一种变种是每月26日）都会发作。发作时硬盘一直转个不停，所有数据都被破坏，硬盘分区信息也将丢失。CIH病毒发作后，就只有对硬盘进行重新分区了。再有就是CIH病毒发作时也可能会破坏某些类型主板的电压，改写只读存储器的BIOS，被破坏的主板只能送回原厂修理，重新烧入BIOS。
CIH病毒破坏类型
当然，CIH对BIOS的破坏，也并非想像中的那么可怕。
现在PC机基本上使用两种只读存储器存放BIOS数据，一种是使用传统的ROM或EPROM，另一种就是E2PROM。厂家事先将BIOS以特殊手段“烧 ”入（又称“固化”）到这些存储器中，然后将它们安装在PC机里。当我们打开计算机电源时，BIOS中程序和数据首先被执行、加载，使得我们的系统能够正确识别机器里安装的各种硬件并调用相应的驱动程序，然后硬盘再开始引导操作系统。
固化在ROM或EPROM中的数据，只有施加以特殊的电压或使用紫外线才有可能被清除，这就是为什么我们打开有些计算机机箱时，可能会看到有块芯片上贴着一小块银色或黑色纸块的原因——防止紫外线清除BIOS数据。要清除存储在这类只读存储器中的数据，仅靠计算系统内部的电压是不够的。所以，仅使用这种只读存储器存储BIOS数据的用户，就没有必要担心CIH病毒会破坏BIOS。
但最新出产的计算机，特别是Pentium以上的计算机基本上都使用了E2PROM存储部分BIOS。E2PROM又名“电可改写只读存储器”。一般情况下，这种存储器中的数据并不会被用户轻易改写，但只要施加特殊的逻辑和电压，就有可能将E2PROM中的数据改写掉。使用PC机的CPU逻辑和计算机内部电压就可轻易实现对E2PROM的改写，这正是我们通过软件升级BIOS的原理，也是CIH破坏BIOS的基本方法。
改写E2PROM内的数据需要一定的逻辑条件，不同PC机系统对这种条件的要求可能并不相同，所以CIH并不会破坏所有使用E2PROM存储BIOS的主板，目前报道的只有技嘉和微星等几种5V主板，这并不是说这些主板的质量不好，只不过其E2PROM逻辑正好与CIH吻合，或者CIH的编制者也许就是要有目的地破坏某些品牌的主板。
所以，要判断CIH对您的主板究竟有没有危害，首先应该判别您的BIOS是仅仅烧在ROM/EPROM之中，还是有一部分使用了E2PROM。
需要注意的是，虽然CIH并不会破坏所有BIOS，但CIH在“黑色”的26日摧毁硬盘上所有数据远比破坏BIOS要严重得多——这是每个感染CIH病毒的用户不可避免的。
CIH病毒属文件型病毒，其别名有Win95.CIH、Spacefiller、 Win32.CIH、PE_CIH，它主要感染Windows95/98下的可执行文件(PE格式，Portable Executable Format)，目前的版本不感染DOS以及WIN 3.X(NE格式，Windows and OS/2 Windows 3.1 execution File Format)下的可执行文件，并且在Win NT中无效。其发展过程经历了v1.0，v1.1、v1.2、v1.3、v1.4总共5个版本，目前最流行的是v1.2版本，在此期间，据某些报导，同时产生了不下十个的变种，不过好象没有流行起来的迹象，本人并未实际接触到这些所谓的CIH变种病毒。
CIH病毒的各种不同版本
随时间的发展不断完善，其基本发展历程为：
CIH病毒v1.0版本最初的 V1.0版本仅仅只有 656字节，其雏形显得比较简单，与普通类型的病毒在结构上并无多大的改善，其最大的“卖点”是在于其是当时为数不多的、可感染Microsoft Windows PE类可执行文件的病毒之一，被其感染的程序文件长度增加，此版本的CIH不具有破坏性。
CIH病毒v1.1版本当其发展到v1.1版本时，病毒长度为796字节，此版本的CIH病毒具有可判断Win NT软件的功能，一旦判断用户运行的是Win NT，则不发生作用，进行自我隐藏，以避免产生错误提示信息，同时使用了更加优化的代码，以缩减其长度。此版本的CIH另外一个优秀点在于其可以利用 WIN PE类可执行文件中的“空隙”，将自身根据需要分裂成几个部分后，分别插入到PE类可执行文件中，这样做的优点是在感染大部分WINPE类文件时，不会导致文件长度增加。
CIH病毒v1.2版本当其发展到v1.2版本时，除了改正了一些v1.1版本的缺陷之外，同时增加了破坏用户硬盘以及用户主机BIOS程序的代码，这一改进，使其步入恶性病毒的行列，此版本的CIH病毒体长度为1003字节。CIH病毒v1.3版本原先v1.2版本的CIH病毒最大的缺陷在于当其感染ZIP自解压包文件(ZIP self-extractors file)时，将导致此ZIP压缩包在自解压时出现如下的错误警告信息：
WinZip Self-Extractor header corrupt.
Possible cause: disk or file transfer error.
v1.3版本的CIH病毒显得比较仓促，其改进点便是针对以上缺陷的，它的改进方法是：一旦判断开启的文件是WinZip类的自解压程序，则不进行感染。同时，此版本的CIH病毒修改了发作时间。v1.3版本的CIH病毒长度为1010字节。
CIH病毒v1.4版本此版本的CIH病毒改进上上几个版本中的缺陷，不感染ZIP自解压包文件，同时修改了发作日期及病毒中的版权信息(版本信息被更改为：“CIH v1.4 TATUNG”，在以前版本中的相关信息为“CIH v1.x TTIT”)，此版本的长度为1019字节。
从上面的说明中，我们可以看出，实际上，在CIH的相关版本中，只有v1.2、v1.3、v1.4这3个版本的病毒具有实际的破坏性，其中v1.2版本的 CIH病毒发作日期为每年的4月26日，这也就是当前最流行的病毒版本，v1.3版本的发作日期为每年的6月26日，而CIH v1.4版本的发作日期则被修改为每月的26日，这一改变大大缩短了发作期限，增加了其的破坏性。
破坏性
CIH属恶性病毒，当其发作条件成熟时，其将破坏硬盘数据，同时有可能破坏BIOS程序，其发作特征是：
1、以2048个扇区为单位，从硬盘主引导区开始依次往硬盘中写入垃圾数据，直到硬盘数据被全部破坏为止。 最坏的情况下硬盘所有数据(含全部逻辑盘数据)均被破坏，如果重要信息没有备份，那就只有哭了！
2、某些主板上的Flash Rom中的BIOS信息将被清除。
特征
由于流行的CIH病毒版本中，其标识版本号的信息使用的是明文，所以可以通过搜索可执行文件中的字符串来识别是否感染了CIH病毒，搜索的特征串为 “CIH v”或者是“CIH v1.”如果你想搜索更完全的特征字符串，可尝试“CIH v1.2 TTIT”、“CIH v1.3 TTIT”以及“CIH v1.4 TATUNG”，不要直接搜索“CIH”特征串，因为此特征串在很多的正常程序中也存在，例如程序中存在如下代码行：
inc bx
dec cx
dec ax
则它们的特征码正好是“CIH(0x43;0x49;0x48)”，容易产生误判。
具体的搜索方法为：首先开启“资源管理器”，选择其中的菜单功能“工具>查找>文件或文件夹”，在弹出的“查找文件”设置窗口的“名称和位置 ”输入中输入查找路径及文件名(如：*.EXE)，然后在“高级>包含文字”栏中输入要查找的特征字符串--“CIH v”，最后点劝查找键”即可开始查找工作。如果在查找过程中， 显示出一大堆符合查找特征的可执行文件，则表明您老的计算机上已经感染了CIH病毒。
实际上，在以上的方法中存在着一个致命的缺点，那就是：如果用户刚刚感染CIH病毒，那么这样一个大面积的搜索过程实际上也是在扩大病毒的感染面。一般情况下，推荐的方法是先运行一下“写字板”软件，然后使用上面的方法在“写字板”软件的可执行程序Notepade.exe中搜索特征串，以判断是否感染了 CIH病毒。
另外一个判断方法是在Windows PE文件中搜索IMAGE_NT_SIGNATURE字段，也就是0x00004550，其代表的识别字符为“PE00”，然后查看其前一个字节是否为 0x00，如果是，则表示程序未受感染，如果为其他数值，则表示很可能已经感染了CIH病毒。
最后一个判断方法是先搜索IMAGE_NT_SIGNATURE字段--“PE00”，接着搜索其偏移0x28位置处的值是否为55 8D 44 24 F8 33 DB 64，如果是，则表示此程序已被感染。
还听说凡是感染了CIH病毒的机器，如果玩NEED FOR SPEED II游戏时，会在读取游戏光盘时出现死机现象， 本人没有尝试过，不知道实际上是不是有这一情况存在。
适合高级用户使用的一个方法是直接搜索特征代码，并将其修改掉，方法是：先处理掉两个转跳点，即搜索：5E CC 56 8B F0 特征串以及5E CC FB 33 DB特征串，将这两个特征串中的CC改90(nop)，接着搜索 CD 20 53 00 01 00 83 C4 20 与 CD 20 67 00 40 00特征字串，将其全部修改为90，即可（以上数值全部为16进制）。
另外一种方法是将原先的PE程序的正确入口点找回来，填入当前入口点即可（此处以一个被感染的CALC.EXE程序为例），具体方法为：先搜 IMAGE_NT_SIGNATURE字段--“PE00”，接着将距此点偏移0x28处的4个字节值，例如“A0 02 00 00”(0x000002A0)，再由此偏移所指的位置（即0x02A0）找到数据“55 8D 44 24 F8 33 DB 64”，并由0X02A0加上0X005E得到0x02FE偏移，此偏移处的数据例如为“CB 21 40 00”（OXOO4021CB），将此值减去OX40000，将得数--“CB 21 00 00”（OXOO0021CB）值放回到距“PE00”点偏移0x28的位置即可（此处为Windows PE格式程序的入口点，术语称为Program Entry Point）。最后将“55 8D 44 24 F8 33 DB 64”全部填成“00”，使得我们容易判断病毒是否已经被杀除过。
按照上面手工杀毒的方法一般适合于某些单独的软件（例如某些软件包含在软盘中，却被感染了CIH不读，可现在就要用，呵呵！）。使用上述方法的缺点在于病毒体还将保留在可执行文件中，虽然不会起作用，但是想起来可能会有点不舒服（记得“WPS2000测试版残留CIH病毒尸体”的事件么？）。所以，想彻底杀灭，推荐使用某些反病毒软件进行或是CIH专用杀毒工具（以上操作以及使用反病毒软件进行杀毒，必须使用干净的系统盘启动计算机）。