CIH病毒主要感染Windows 95/98/Me的可執行程序,發作時破壞電腦Flash BIOS晶片中的系統程序,導致主機板損壞,同時破壞硬碟中的資料。病毒發作時,硬碟不斷旋轉,病毒程式以2048個磁區為單位,從硬碟主引導區開始依序到硬碟寫入垃圾數據,直到硬碟資料被全部破壞為止。硬碟上所有資料(包括分割表)都被破壞,必須重新分割才能有可能挽救硬碟。同時,對於部分廠牌的主機板,如技嘉和微星等,會將Flash BIOS 中的系統程式破壞,造成開機後系統無反應。
CIH病毒是1998年8月從台灣傳入國內的,共有五個版本,各種不同版本隨時間而發展,不斷完善,其發展歷程如下:
(1)CIH病毒1.0版
『(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壓縮包在自解壓縮時出現以下錯誤警告訊息:
1.3版CIH病毒顯得比較倉促,其改進點便是針對以上缺陷的,它的改進方法是: 一旦判斷開啟的文件是WinZip類的自解壓程序,則不進行感染。同時,此版本的CIH病毒修改了病毒發作時間,由原來的4月26日改為6月26日。 1.3版CIH病毒長度為1010個位元組。
(4)CIH病毒1.4版
1.4版CIH病毒改進了以前幾個版本中的缺陷,不感染ZIP自解壓包文件,同時也修改了發作日期,由6前幾個版本中的缺陷,不感染ZIP自解壓包文件,同時也修改了發作日期,由6月26日改為每月26日改為每月26日改為每月26日改為每月月的26日,增加了病毒發作的頻率。也修改了病毒中的版權資訊(版權資訊已更改為:“CIH v1.4 TATUNG”,在先前版本中的相關資訊為“CIH v1.x TTIT”),1.4版CIH病毒長度為1019位元組。
如前所述,CIH病毒創造了病毒歷史上的幾個第一,具有十分強大的破壞力,該病毒的發作給全世界造成了不可估量的損失。那麼,具有如此之大「殺傷」力的程式碼是如何寫出來的呢?下面,我們以CIH病毒的1.4版為實例,分析其部分核心程式碼。