“歡樂(lè)時(shí)光”病毒檢測(cè)工具的實(shí)現(xiàn)-免費(fèi)畢業(yè)設(shè)計(jì)論文_第1頁(yè)
“歡樂(lè)時(shí)光”病毒檢測(cè)工具的實(shí)現(xiàn)-免費(fèi)畢業(yè)設(shè)計(jì)論文_第2頁(yè)
“歡樂(lè)時(shí)光”病毒檢測(cè)工具的實(shí)現(xiàn)-免費(fèi)畢業(yè)設(shè)計(jì)論文_第3頁(yè)
“歡樂(lè)時(shí)光”病毒檢測(cè)工具的實(shí)現(xiàn)-免費(fèi)畢業(yè)設(shè)計(jì)論文_第4頁(yè)
“歡樂(lè)時(shí)光”病毒檢測(cè)工具的實(shí)現(xiàn)-免費(fèi)畢業(yè)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

“歡樂(lè)時(shí)光”病毒檢測(cè)工具的實(shí)現(xiàn)—免費(fèi)畢業(yè)設(shè)計(jì)論文畢業(yè)設(shè)計(jì)(論文)“歡樂(lè)時(shí)光”病毒檢測(cè)工具的實(shí)現(xiàn)論文作者姓名:申請(qǐng)學(xué)位專業(yè):申請(qǐng)學(xué)位類別:指導(dǎo)教師姓名,職稱,:論文提交日期:“歡樂(lè)時(shí)光”病毒檢測(cè)工具的實(shí)現(xiàn)摘要病毒檢測(cè)是計(jì)算機(jī)安全領(lǐng)域的重要技術(shù)之一,是反病毒技術(shù)的核心。利用病毒檢測(cè)技術(shù)便于發(fā)現(xiàn)計(jì)算機(jī)系統(tǒng)是否受到安全威脅,同時(shí)也可以及時(shí)通告用戶做好病毒防范措施。本論文從計(jì)算機(jī)病毒及其檢測(cè)的基本理論出發(fā),對(duì)經(jīng)典的歡樂(lè)時(shí)光腳本病毒的特點(diǎn)進(jìn)行分析,提出了預(yù)防腳本病毒的主要方法,得出了對(duì)歡樂(lè)時(shí)光腳本病毒有效的檢測(cè)方法,最后用VC++設(shè)計(jì)實(shí)現(xiàn)了一個(gè)對(duì)該病毒的檢測(cè)工具,該病毒檢測(cè)工具采用匹配病毒感染標(biāo)識(shí)的檢測(cè)方法,在遍歷文件的同時(shí)對(duì)文件進(jìn)行檢測(cè)。同時(shí)該檢測(cè)工具也具有清理相關(guān)注冊(cè)表項(xiàng)及限制使用次數(shù)等功能。該病毒檢測(cè)工具能夠準(zhǔn)確地檢測(cè)到計(jì)算機(jī)系統(tǒng)中被歡樂(lè)時(shí)光腳本病毒所感染的文件并刪除病毒腳本。關(guān)鍵詞:計(jì)算機(jī)安全;歡樂(lè)時(shí)光腳本病毒;病毒檢測(cè);病毒感染標(biāo)識(shí)的匹配;遍歷文件夾TheImplementationofHappyTimeVirusDetectionSoftwareAbstractVirusdetectionisoneofthemostsignificanttechnologiesincomputersecurityfieldaswellasthecoretechnologyinanti-virussoftware.Withthetechnologyofvirusdetection,itisusefultodiscoverwhetheracomputersystemissafeornot.Simultaneously,itcouldalsoinformuserstodosomepreventivemeasureforviruspromptly.Basedonthebasicconceptandtheoryofcomputervirusandvirusdetection,aclassicalvirus,theHappyTimescriptvirus,iswellanalyzedfirst.Afterthat,itpointsoutthemainmethodsofscriptvirusprevention.ThentheeffectivemethodtodetectHappyTimescriptvirusisconcluded.FinallyavirusdetectionsoftwareforHappyTimevirusisdesignedandrealizedwithVC++.Thevirusdetectionsoftwareisdesignedtodetectavirusbymatchingthesignstringofaviruswhiletraversingthefiles.Thefunctionsofcleaninguprelativeregistryandlimitingthetimesofusingarealsoavailableinthesoftware.ThisvirusdetectionsoftwarecanaccuratelydetectthefilesinfectedbythescriptofHappyTimevirusinthecomputersystemanddeletetheviralscript.Keywords:Computersecurity;HappyTimescriptvirus;Virusdetection;Matchingthesignstringofavirus;Traversingfiles目錄論文總頁(yè)數(shù):22頁(yè)1引言.......................................................................................................................................22計(jì)算機(jī)病毒與病毒檢測(cè)技術(shù)概述.......................................................................................22.1計(jì)算機(jī)病毒概述...............................................................................................................22.2病毒檢測(cè)概念及其發(fā)展歷史...........................................................................................52.3病毒檢測(cè)的發(fā)展趨勢(shì).......................................................................................................62.4論文結(jié)構(gòu)概述...................................................................................................................73需求分析...............................................................................................................................83.1功能需求...........................................................................................................................83.2運(yùn)行環(huán)境...........................................................................................................................84歡樂(lè)時(shí)光腳本病毒及其檢測(cè)...............................................................................................8VBS腳本病毒介紹............................................................................................................84.14.2歡樂(lè)時(shí)光腳本病毒...........................................................................................................94.2.1歡樂(lè)時(shí)光病毒部分關(guān)鍵代碼分析...........................................................................94.2.2歡樂(lè)時(shí)光病毒主要特點(diǎn).........................................................................................124.3利用匹配病毒感染標(biāo)識(shí)方法檢測(cè)病毒.........................................................................125設(shè)計(jì)與實(shí)現(xiàn).........................................................................................................................135.1總體設(shè)計(jì)思想.................................................................................................................135.2遍歷文件的實(shí)現(xiàn).............................................................................................................135.3掃描文件的實(shí)現(xiàn).............................................................................................................165.4軟件使用次數(shù)限制實(shí)現(xiàn).................................................................................................165.5軟件功能簡(jiǎn)介.................................................................................................................186檢測(cè)工具的測(cè)試.................................................................................................................21結(jié)論.........................................................................................................................................21參考文獻(xiàn).........................................................................................................................................21致謝.........................................................................................................................................23聲明.........................................................................................................................................241引言隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,計(jì)算機(jī)應(yīng)用日趨深入普及,逐步滲透到人類生活的各個(gè)方面,為社會(huì)發(fā)展做出了巨大的貢獻(xiàn)。然而,科學(xué)技術(shù)都是在自身的矛盾中發(fā)展的,計(jì)算機(jī)技術(shù)的提高和計(jì)算機(jī)應(yīng)用的普及使人們忽略了潛在的不安全因素,致使計(jì)算機(jī)的安全運(yùn)行受到了病毒的嚴(yán)重威脅。有效地防范計(jì)算機(jī)病毒已成為計(jì)算機(jī)、互聯(lián)網(wǎng)應(yīng)用中迫切需要解決的突出問(wèn)題。互聯(lián)網(wǎng)的現(xiàn)狀和未來(lái)的發(fā)展決定了研究計(jì)算機(jī)病毒和病毒檢測(cè)技術(shù)的重大意義。隨著互聯(lián)網(wǎng)的飛速發(fā)展,計(jì)算機(jī)病毒技術(shù)也在迅速發(fā)展。研究計(jì)算機(jī)病毒及反病毒相關(guān)技術(shù)可深入了解病毒及其相關(guān)原理,針對(duì)不同種類,不同性質(zhì)的病毒采取不同的措施加以檢測(cè)及防范,最大程度減少病毒的存在及傳播,同時(shí)進(jìn)一步加深對(duì)網(wǎng)絡(luò)安全的認(rèn)識(shí)和提高網(wǎng)絡(luò)安全的意識(shí)。2計(jì)算機(jī)病毒與病毒檢測(cè)技術(shù)概述2.1計(jì)算機(jī)病毒概述計(jì)算機(jī)病毒(ComputerVirus)在《中華人民共和國(guó)計(jì)算機(jī)信息系統(tǒng)安全保護(hù)條例》中被明確定義,病毒是“編制或者在計(jì)算機(jī)程序中插入的破壞計(jì)算機(jī)功能或者破壞數(shù)據(jù),影響計(jì)算機(jī)使用并且能夠自我復(fù)制的一組計(jì)算機(jī)指令或者程序代碼”。1(計(jì)算機(jī)病毒具有以下幾個(gè)特點(diǎn):(1)寄生性計(jì)算機(jī)病毒寄生在其他程序之中,當(dāng)執(zhí)行這個(gè)程序時(shí),病毒就起破壞作用,而在未啟動(dòng)這個(gè)程序之前,它是不易被人發(fā)覺(jué)的。(2)傳染性計(jì)算機(jī)病毒不但本身具有破壞性,更有害的是具有傳染性,一旦病毒被復(fù)制或產(chǎn)生變種,其速度之快令人難以預(yù)防。(3)潛伏性有些病毒發(fā)作時(shí)間是預(yù)先設(shè)計(jì)好的。比如黑色星期五病毒,不到預(yù)定時(shí)間一般覺(jué)察不出來(lái),等到條件具備的時(shí)候再暴發(fā)進(jìn)而對(duì)系統(tǒng)進(jìn)行破壞。(4)隱蔽性計(jì)算機(jī)病毒具有很強(qiáng)的隱蔽性,有的可以通過(guò)病毒檢測(cè)軟件檢查出來(lái),有的很難檢測(cè)出來(lái),有的則時(shí)隱時(shí)現(xiàn)、變化無(wú)常,因此處理起來(lái)通常很困難。2(計(jì)算機(jī)病毒的表現(xiàn)形式計(jì)算機(jī)受到病毒感染后,會(huì)表現(xiàn)出不同的癥狀,常見的要有:(1)機(jī)器不能正常啟動(dòng)通電后機(jī)器根本不能啟動(dòng),或者可以啟動(dòng),但所需要的時(shí)間比原來(lái)的啟動(dòng)時(shí)間變長(zhǎng)。(2)運(yùn)行速度降低如果發(fā)現(xiàn)在運(yùn)行某個(gè)程序時(shí),讀取數(shù)據(jù)的時(shí)間比原來(lái)長(zhǎng),存取文件的時(shí)間都增加了,那就可能是由于病毒造成的。(3)磁盤空間迅速變小由于病毒程序要進(jìn)駐內(nèi)存,而且又能繁殖,因此使內(nèi)存空間變小甚至變?yōu)?。(4)文件內(nèi)容和長(zhǎng)度有所改變一個(gè)文件存入磁盤后,它的長(zhǎng)度和其內(nèi)容都不會(huì)改變,可是由于病毒的干擾,文件長(zhǎng)度可能改變,文件內(nèi)容也可能出現(xiàn)亂碼。有時(shí)文件內(nèi)容無(wú)法顯示或顯示后又消失了。(5)經(jīng)常出現(xiàn)“死機(jī)”現(xiàn)象正常的操作是不會(huì)造成死機(jī)現(xiàn)象的。如果機(jī)器經(jīng)常死機(jī),那可能是由于系統(tǒng)被病毒感染了。(6)外部設(shè)備工作異常因?yàn)橥獠吭O(shè)備受系統(tǒng)的控制,如果機(jī)器中有病毒,外部設(shè)備在工作時(shí)可能會(huì)出現(xiàn)一些異常情況。3(計(jì)算機(jī)病毒的種類計(jì)算機(jī)病毒根據(jù)感染形態(tài)大致可分為以下幾種:(1)引導(dǎo)型病毒:引導(dǎo)型病毒是病毒把自身的程序代碼存放在硬盤的引導(dǎo)扇區(qū)中。由于計(jì)算機(jī)的啟動(dòng)機(jī)制,使得病毒可以在每次開機(jī),操作系統(tǒng)還沒(méi)有引導(dǎo)之前就被加載到內(nèi)存中,這個(gè)特性使得病毒可以對(duì)計(jì)算機(jī)進(jìn)行完全的控制,并擁有更大的能力進(jìn)行傳染和破壞。絕大多數(shù)引導(dǎo)型病毒有極強(qiáng)的傳染性和破壞性,通常會(huì)格式化硬盤、修改文件分配表等,一旦發(fā)作,計(jì)算機(jī)的數(shù)據(jù)通常會(huì)全部丟失。(2)文件型病毒:文件型病毒通常把病毒程序代碼自身放在系統(tǒng)的可執(zhí)行文件(如:*.COM、*.EXE、*.DLL等)中。當(dāng)這些文件被執(zhí)行時(shí),病毒的程序也就被執(zhí)行。文件型病毒依傳染方式的不同,分為非常駐型以及常駐內(nèi)存型兩種。非常駐型病毒是將病毒程序自身放置于*.COM、*.EXE或是*.SYS的文件中,當(dāng)這些中毒的程序被執(zhí)行時(shí),就會(huì)嘗試把病毒程序傳染給另一個(gè)或多個(gè)文件。該類病毒只在感染病毒的程序被調(diào)用執(zhí)行時(shí),傳染給其它程序,病毒本身并不常駐內(nèi)存;常駐內(nèi)存型病毒躲在內(nèi)存中,一旦常駐內(nèi)存型病毒進(jìn)入了內(nèi)存,只要有可執(zhí)行文件被執(zhí)行,就可以對(duì)其進(jìn)行感染。(3)復(fù)合型病毒:復(fù)合型病毒具備引導(dǎo)型病毒和文件型病毒的特性,可以傳染*.COM、*.EXE、*.DLL文件,也可以感染磁盤的引導(dǎo)扇區(qū)。由于這個(gè)特性,使得這種病毒具有很強(qiáng)的傳染力。(4)變型病毒:這一類病毒使用一個(gè)復(fù)雜的算法,使自己每傳播一次都具有不同的內(nèi)容和長(zhǎng)度。一般的做法是:病毒由一段混有無(wú)關(guān)指令的解碼算法和被變化過(guò)的病毒體組成。病毒之所以要進(jìn)行自身代碼的變化,主要原因是為了躲避殺毒軟件的清除。(5)宏病毒:宏病毒主要利用微軟Office軟件Word、Excel本身有宏命令的功能而寫的一種病毒。所謂的宏,就是一段腳本程序,由于Word、Excel等軟件在處理文檔時(shí),為了使程序更智能化地按人的意愿工作,允許在Word中加入VisualBasicScript(以下為VBS)程序,這給宏病毒提供了滋生的條件,宏病毒就是用這些VBS程序編寫的程序。(6)網(wǎng)頁(yè)病毒:網(wǎng)頁(yè)病毒主要利用系統(tǒng)軟件的安全漏洞,通過(guò)執(zhí)行嵌入在網(wǎng)頁(yè)HTML語(yǔ)言內(nèi)的VBS腳本程序、JavaScript腳本程序等可自動(dòng)執(zhí)行的程序,強(qiáng)行修改操作系統(tǒng)的注冊(cè)表和系統(tǒng)配置,或非法控制系統(tǒng)資源,盜取用戶文件。這種非法惡意程序能夠自動(dòng)執(zhí)行,它完全不受用戶的控制。一旦瀏覽含有該病毒的網(wǎng)頁(yè),便會(huì)被病毒感染,它會(huì)給系統(tǒng)帶來(lái)不同程度的破壞。輕則消耗系統(tǒng)資源,使系統(tǒng)運(yùn)行速度緩慢,直至重啟;重則刪除硬盤數(shù)據(jù),甚至格式化硬盤。網(wǎng)頁(yè)病毒發(fā)作通常有兩種表現(xiàn)形式:一種是修改瀏覽器和注冊(cè)表的各種設(shè)置,比如:IE的默認(rèn)首頁(yè)被修改,標(biāo)題欄被添加非法信息,注冊(cè)表被禁止打開等。另一種則是惡性結(jié)果,比如:開機(jī)出現(xiàn)對(duì)話框,格式化硬盤,全方位侵害封殺系統(tǒng),最后導(dǎo)致癱瘓崩潰,非法讀取或盜取用戶文件等。網(wǎng)頁(yè)病毒的預(yù)防通常是先打上IE補(bǔ)丁。接下來(lái)有兩種方法:一是利用IE自身的設(shè)置進(jìn)行預(yù)防,使瀏覽器自身不執(zhí)行網(wǎng)頁(yè)上的腳本程序,或屏蔽某些惡性網(wǎng)站。在IE6的internet選項(xiàng)的“常規(guī)”選項(xiàng)卡中,先選中某一網(wǎng)站區(qū)域,再點(diǎn)擊“自定義級(jí)別”即可對(duì)IE6瀏覽器能執(zhí)行的腳本程序進(jìn)行限制。要注意的是:禁用IE的JS、VBS等腳本程序的運(yùn)行后,很多網(wǎng)頁(yè)特效就沒(méi)辦法顯示了;另一種辦法,就是使用病毒防火墻,或者直接用第三方IE保護(hù)軟件來(lái)保護(hù)。(7)“蠕蟲”型病毒:顧名思義,計(jì)算機(jī)蠕蟲指的是某些惡性程序代碼,會(huì)從一臺(tái)計(jì)算機(jī)傳播到另外一臺(tái)計(jì)算機(jī)進(jìn)行感染。一般來(lái)說(shuō)蠕蟲能感染文件,對(duì)自身進(jìn)行復(fù)制,消耗系統(tǒng)資源。在互聯(lián)網(wǎng)環(huán)境下,蠕蟲病毒變得非常猖獗,它靠復(fù)制自己來(lái)傳播,如果不對(duì)蠕蟲的傳播渠道進(jìn)行控制(如操作系統(tǒng)的漏洞、文件共享的權(quán)限等),即使不執(zhí)行任何外來(lái)文件,也會(huì)被感染?,F(xiàn)在的病毒一般都是既能夠感染文件,又可以通過(guò)E,mail、共享文件夾、HTML代碼、尋找漏洞獲得寫權(quán)限傳播病毒。2.2病毒檢測(cè)概念及其發(fā)展歷史在與病毒的對(duì)抗中,及早發(fā)現(xiàn)病毒很重要。早發(fā)現(xiàn),早處理,可以減少損失。檢測(cè)病毒的最主要的方法有:特征代碼法、校驗(yàn)和法、行為監(jiān)測(cè)法、軟件模擬法,這些方法依據(jù)的原理不同,實(shí)現(xiàn)時(shí)所需開銷不同,檢測(cè)范圍不同,各有所長(zhǎng)。1(特征代碼法特征代碼法是檢測(cè)已知病毒的最簡(jiǎn)單、開銷最小的方法。它的實(shí)現(xiàn)是采集已知病毒樣本。病毒如果既感染COM文件,又感染EXE文件,對(duì)這種病毒要同時(shí)采集COM型病毒樣本和EXE型病毒樣本。打開被檢測(cè)文件,在文件中搜索,檢查文件中是否含有病毒數(shù)據(jù)庫(kù)中的病毒特征代碼。如果發(fā)現(xiàn)病毒特征代碼,由于特征代碼與病毒一一對(duì)應(yīng),便可以斷定,被查文件中患有何種病毒。采用病毒特征代碼法的檢測(cè)工具,面對(duì)不斷出現(xiàn)的新病毒,必須不斷更新版本,否則檢測(cè)工具便會(huì)老化,逐漸失去實(shí)用價(jià)值。病毒特征代碼法對(duì)從未見過(guò)的新病毒,自然無(wú)法知道其特征代碼,因而無(wú)法去檢測(cè)這些新病毒。特征代碼法的優(yōu)點(diǎn)是:檢測(cè)準(zhǔn)確快速、可識(shí)別病毒的名稱、誤報(bào)警率低。其缺點(diǎn)是:(1)速度慢。隨著病毒種類的增多,檢索時(shí)間變長(zhǎng)。如果檢索5000種病毒,必須對(duì)5000種病毒特征代碼逐一檢查。如果病毒種數(shù)再增加,檢病毒的時(shí)間開銷就變得十分可觀。此類工具檢測(cè)的高速性,將變得日益困難。(2)不能檢查多形性病毒。特征代碼法是不可能檢測(cè)多態(tài)性病毒的。國(guó)外專家認(rèn)為多態(tài)性病毒是病毒特征代碼法的索命者。(3)不能對(duì)付隱蔽性病毒。如果隱蔽性病毒先進(jìn)駐內(nèi)存,病毒檢測(cè)工具后運(yùn)行,隱蔽性病毒能先于檢測(cè)工具,將被查文件中的病毒代碼剝?nèi)?,檢測(cè)工具的確是在檢查一個(gè)虛假的"好文件",而不能報(bào)警,被隱蔽性病毒所蒙騙。2(校驗(yàn)和法將正常文件的內(nèi)容,計(jì)算其校驗(yàn)和,將該校驗(yàn)和寫入文件中或?qū)懭雱e的文件中保存。在文件使用過(guò)程中,定期地或每次使用文件前,檢查文件現(xiàn)在內(nèi)容算出的校驗(yàn)和與原來(lái)保存的校驗(yàn)和是否一致,因而可以發(fā)現(xiàn)文件是否感染,這種方法叫校驗(yàn)和法,它既可發(fā)現(xiàn)已知病毒又可發(fā)現(xiàn)未知病毒。但是,它不能識(shí)別病毒類,不能報(bào)出病毒名稱。由于文件內(nèi)容改變并不一定是由于病毒引起的,而有可能是正常程序引起的,所以校驗(yàn)和法常常誤報(bào)警。而且此種方法也會(huì)影響文件的運(yùn)行速度。校驗(yàn)和法的優(yōu)點(diǎn)是:方法簡(jiǎn)單能發(fā)現(xiàn)未知病毒、被查文件的細(xì)微變化也能發(fā)現(xiàn)。其缺點(diǎn)是:發(fā)布通行記錄正常態(tài)的校驗(yàn)和、會(huì)誤報(bào)警、不能識(shí)別病毒名稱。3、行為監(jiān)測(cè)法利用病毒的特有行為特征性來(lái)監(jiān)測(cè)病毒的方法,稱為行為監(jiān)測(cè)法。通過(guò)對(duì)病毒多年的觀察、研究,有一些行為是病毒的共同行為,而且比較特殊。在正常程序中,這些行為比較罕見。當(dāng)程序運(yùn)行時(shí),監(jiān)視其行為,如果發(fā)現(xiàn)了病毒行為,立即報(bào)警。行為監(jiān)測(cè)法的優(yōu)點(diǎn):可發(fā)現(xiàn)未知病毒、可相當(dāng)準(zhǔn)確地預(yù)報(bào)未知的多數(shù)病毒。行為監(jiān)測(cè)法的缺點(diǎn):可能誤報(bào)警、不能識(shí)別病毒名稱、實(shí)現(xiàn)時(shí)有一定難度。4、軟件模擬法軟件模擬掃描技術(shù)專門用來(lái)處理某種病毒,這種病毒在每次傳染時(shí),都以不同的隨機(jī)數(shù)加密于每個(gè)中毒的文件中,傳統(tǒng)病毒特征碼比對(duì)的方式根本就無(wú)法找到這種病毒。軟件模擬技術(shù)則是成功地模擬CPU執(zhí)行,在其設(shè)計(jì)的虛擬機(jī)器(VirtualMachine)下假執(zhí)行病毒的變體引擎解碼程序,安全并確實(shí)地將多型體病毒解開,使其顯露原本的面目,再加以掃描。2.3病毒檢測(cè)的發(fā)展趨勢(shì)未來(lái)的可能的反病毒技術(shù):虛擬現(xiàn)實(shí)。只要技術(shù)足夠成熟,完全有可能出現(xiàn)類似人工智能的反病毒技術(shù)。而未來(lái)反病毒的疑難之一就是永遠(yuǎn)無(wú)法寫出一個(gè)完美的程序來(lái)檢測(cè)和清除病毒。病毒同樣能辨識(shí)和分析反毒程序,并對(duì)自身重新編程;而反毒程序可能同樣地要對(duì)病毒進(jìn)行探測(cè),再進(jìn)行自編程。病毒與反毒程序的角逐就變成了自編程能力的實(shí)現(xiàn)。可以考慮用這種方式:人工進(jìn)入計(jì)算網(wǎng)絡(luò)世界的方法來(lái)查殺病毒。人有足夠的智能和經(jīng)驗(yàn)積累來(lái)完成對(duì)病毒的檢測(cè)和殺除,而這就只剩下建立人與計(jì)算機(jī)之間的通信的問(wèn)題了。目前的虛擬現(xiàn)實(shí)技術(shù)重點(diǎn)放在了對(duì)人與人的自然界交流方式——“感官”的計(jì)算機(jī)描述的實(shí)現(xiàn)上,它如同人們所有的知覺(jué)都最終傳感給大腦,大腦對(duì)這種傳感做出一種體驗(yàn)上的描述,從而形成知覺(jué)意識(shí)。如果計(jì)算機(jī)將二進(jìn)制代碼流表述成腦電波的流信息,并通過(guò)神經(jīng)傳感給大腦,則完全可以描述并引導(dǎo)、控制人的一切思維。簡(jiǎn)單地說(shuō),人的思維與計(jì)算機(jī)語(yǔ)言存在了這樣一個(gè)通用的接口。這種理論如果得以實(shí)現(xiàn),則虛擬現(xiàn)實(shí)技術(shù)將進(jìn)入新的發(fā)展領(lǐng)域。雖然從理論上講是不可能在對(duì)病毒未知的情況下對(duì)其做出精確判斷從而預(yù)防,但是在實(shí)際應(yīng)用中,經(jīng)過(guò)反病毒專家多年的統(tǒng)計(jì)、分析、研究積累的經(jīng)驗(yàn),完全有可能以概率方式對(duì)病毒危險(xiǎn)進(jìn)行一種分級(jí)制測(cè)定并對(duì)其使用反病毒程序,在相當(dāng)程度上達(dá)到較精確地防御未知病毒的侵入。未來(lái)反病毒產(chǎn)品的特點(diǎn):防殺兼?zhèn)?、萬(wàn)能恢復(fù)。從技術(shù)的數(shù)學(xué)模型上來(lái)說(shuō),過(guò)去、現(xiàn)在、將來(lái)的反病毒軟件都不可能有任何理論上的超越,即無(wú)法跨越不可判定性的鴻溝,特征碼也好,啟發(fā)式虛擬機(jī)也好,或者兼而有之,相互配合,暫時(shí)不會(huì)有新的突破。那么,具體到反病毒技術(shù)的產(chǎn)品,也基本上離不開這些模式。當(dāng)然,即使是從工程學(xué)的角度上來(lái)說(shuō),在相同的技術(shù)起點(diǎn)上如何構(gòu)筑出實(shí)現(xiàn)方式和最終效果完全不同的實(shí)用產(chǎn)品,仍然是一個(gè)永無(wú)止境的追求。從手工查殺病毒,到早期散兵游勇式的查殺病毒,到與Internet技術(shù)接軌,直至今天擔(dān)負(fù)起防殺兼?zhèn)洹⑷f(wàn)能恢復(fù)的第三代反病毒軟件,反病毒技術(shù)在與病毒的斗爭(zhēng)中不斷進(jìn)步,不斷誕生各種為計(jì)算機(jī)用戶解憂去患的反病毒產(chǎn)品。從早期的防病毒卡、手動(dòng)查殺的dos版軟件,到在線監(jiān)控實(shí)時(shí)查殺的病毒防火墻,安全專家認(rèn)為,真正的安全僅有查毒和殺毒是不夠的,因?yàn)樵陔娔X世界中,永遠(yuǎn)有捉摸不定的元素。除去泛濫的病毒,系統(tǒng)的漏洞、硬件或軟件的沖突、人為的誤操作、利用特洛伊木馬惡意進(jìn)攻、電腦本身的不穩(wěn)定性、黑客襲擊等形形色色的安全威脅不勝枚舉。所以,一個(gè)好的安全軟件,僅僅能查毒殺毒是不夠的,必須把備份與災(zāi)難恢復(fù)相結(jié)合起來(lái)。用戶對(duì)于病毒的恐懼,并不是來(lái)自它的能夠自我復(fù)制,盡管這才是病毒之所以成為病毒的根本,擔(dān)心害怕的是病毒侵入并且發(fā)作,結(jié)果造成的大大小小的無(wú)可挽回的損失。這種客觀的迫切的需要,成為新形勢(shì)對(duì)反病毒技術(shù)和產(chǎn)品提出的最高要求。于是,第三代反病毒軟件必須要做到突破單一查毒殺毒的局限性,針對(duì)用戶經(jīng)常面臨急需數(shù)據(jù)搶修、系統(tǒng)恢復(fù)等難題,不僅可以殺滅入侵病毒、擊潰來(lái)犯黑客、消滅有害數(shù)據(jù),還有智能災(zāi)難恢復(fù)、全息數(shù)據(jù)救援、維護(hù)系統(tǒng)正常運(yùn)行的全面保障信息安全的功能。我們期望有一種針對(duì)惡性病毒發(fā)作時(shí)可能實(shí)施的破壞行為的截獲、阻止裝置,對(duì)所有帶有危險(xiǎn)級(jí)別的、可能影響系統(tǒng)運(yùn)行和信息資料安全的操作加以禁止,對(duì)一個(gè)將要執(zhí)行的操作進(jìn)行安全性判斷。不難預(yù)料,這種在線式的以危險(xiǎn)行為監(jiān)控為特征的反病毒技術(shù)和產(chǎn)品也一定會(huì)出現(xiàn),配合以前的第一代、第二代、第三代反病毒技術(shù),實(shí)現(xiàn)更高意義上的更加可靠的信息安全。2.4論文結(jié)構(gòu)概述本論文主要包括五個(gè)方面:第一部分首先分析了計(jì)算機(jī)與網(wǎng)絡(luò)安全的現(xiàn)狀,著重分析了常見的幾種計(jì)算機(jī)病毒的特點(diǎn)以及病毒帶來(lái)的安全威脅。第二部分主要介紹了病毒檢測(cè)技術(shù)的歷史及發(fā)展,介紹了當(dāng)前病毒檢測(cè)的主要方法。第三部為需求分析。第四部分分首先主要介紹了VBS腳本病毒及其特點(diǎn),在此基礎(chǔ)上進(jìn)一步分析了歡樂(lè)時(shí)光腳本病毒的源代碼;通過(guò)分析進(jìn)而得出歡樂(lè)時(shí)光病毒的原理及其特點(diǎn),然后介紹了計(jì)算機(jī)在感染該病毒后的癥狀表現(xiàn)。第五部分介紹了該病毒檢測(cè)工具的總體設(shè)計(jì)思路,以及通過(guò)程序代碼介紹了實(shí)現(xiàn)遍歷文件、掃描文件匹配病毒感染標(biāo)識(shí)、軟件使用次數(shù)限制的設(shè)計(jì)與實(shí)現(xiàn)以及對(duì)該病毒檢測(cè)工具的使用做了簡(jiǎn)要介紹。3需求分析3.1功能需求歡樂(lè)時(shí)光腳本病毒具有很強(qiáng)的傳播性和破壞性,是腳本病毒的典型代表。歡樂(lè)時(shí)光腳本病毒被激活后會(huì)感染系統(tǒng)內(nèi)html、htm和asp等文件,將病毒腳本寫入文件,創(chuàng)建相關(guān)注冊(cè)表項(xiàng)以配合病毒的感染和傳播。本設(shè)計(jì)需分析設(shè)計(jì)并實(shí)現(xiàn)一個(gè)專門檢測(cè)歡樂(lè)時(shí)光腳本病毒的檢測(cè)工具。主要需實(shí)現(xiàn)的功能有:1.可以檢測(cè)系統(tǒng)是否被歡樂(lè)時(shí)光病毒感染,在檢測(cè)到文件被其感染時(shí)能自動(dòng)彈出提示框進(jìn)行報(bào)警提示;2.清除被感染文件中的病毒腳本且不能更改正常文件;3.需提供全盤檢測(cè)和指定路徑檢測(cè)兩種方式;4.可以清理被病毒修改的相關(guān)注冊(cè)表項(xiàng);5.需要有使用次數(shù)限制的功能,在每次使用時(shí)提示還可以使用的次數(shù)。本軟件應(yīng)能在Windows操作系統(tǒng)下運(yùn)行,還需有使用方便,界面簡(jiǎn)潔友好等特性。3.2運(yùn)行環(huán)境由于歡樂(lè)時(shí)光腳本病毒主要感染的系統(tǒng)為Windows操作系統(tǒng),并且可以利用微軟的OutlookExpress進(jìn)行傳播,導(dǎo)致更多的以Windows作為操作系統(tǒng)的主機(jī)被感染。因此該病毒檢測(cè)工具應(yīng)該運(yùn)行在Windows操作系統(tǒng)上。4歡樂(lè)時(shí)光腳本病毒及其檢測(cè)4.1VBS腳本病毒介紹腳本病毒以文本格式存在,可以用文本編輯器打開并編輯。VBScript這種腳本語(yǔ)言功能非常強(qiáng)大,利用Windows系統(tǒng)的開放性,可以直接對(duì)文件系統(tǒng)、注冊(cè)表等進(jìn)行控制,功能強(qiáng)大。VBS腳本病毒主要有以下特點(diǎn):(1)破壞力大。表現(xiàn)在對(duì)用戶系統(tǒng)文件及性能的破壞和使郵件服務(wù)器崩潰,網(wǎng)絡(luò)發(fā)生嚴(yán)重阻塞。(2)感染力強(qiáng)。由于腳本是直接解釋執(zhí)行,因此這類病毒可以直接通過(guò)自我復(fù)制的方式感染其他同類文件,并且自我的異常處理變得非常容易。(3)傳播范圍大。這類病毒通過(guò)html文檔,Email附件或其它方式,可以在很短時(shí)間內(nèi)傳遍世界各地。(4)病毒源碼容易被獲取,變種多。由于VBS病毒解釋執(zhí)行,其源代碼可讀性非常強(qiáng),因此變種比較多以至于很多殺毒軟件無(wú)能為力。(5)欺騙性強(qiáng)。腳本病毒為了得到運(yùn)行機(jī)會(huì),往往會(huì)采用各種讓用戶不大注意的手段,譬如,郵件的附件名采用雙后綴,如.txt.vbs,由于系統(tǒng)默認(rèn)不顯示后綴,因此在計(jì)算機(jī)系統(tǒng)里就只顯示出.txt,因此,人們很容易認(rèn)為這是一文本文件而輕易地運(yùn)行。正因?yàn)橐陨蠋讉€(gè)特點(diǎn),腳本病毒發(fā)展異常迅猛,使得生成新型腳本病毒變得非常容易。4.2歡樂(lè)時(shí)光腳本病毒4.2.1歡樂(lè)時(shí)光病毒部分關(guān)鍵代碼分析腳本病毒的代表作歡樂(lè)時(shí)光病毒VBS.Happytime是一個(gè)專門感染html、htm、htt、asp、vbs文件的腳本類病毒。該病毒采用VBScript語(yǔ)言編寫,將病毒腳本內(nèi)嵌至上述文件中。它既可在電子郵件的形式通過(guò)互聯(lián)網(wǎng)進(jìn)行傳播,也可以在本地通過(guò)文件進(jìn)行感染。病毒腳本的部分關(guān)鍵代碼如下:RemIamsorry!happytimeOnErrorResumeNextmload以上為病毒入口,并加上Iamsorry!happytime,以表明此文件已被感染過(guò)。這也是病毒名稱的由來(lái)。SetOd=CreateObject("Scripting.Dictionary")創(chuàng)建Dictionary對(duì)象,即一個(gè)數(shù)組,用來(lái)保存數(shù)據(jù)鍵和項(xiàng)目對(duì)。Od.Add"html","1100"Od.Add"vbs","0100"Od.Add"htm","1100"Od.Add"asp","0010"向Dictionary對(duì)象添加要感染的項(xiàng)目對(duì),即感染文件類型。Key=CInt(Month(Date)+Day(Date))IfKey=13Then如果月與日之和為13Od.RemoveAllOd.Add"exe","0001"Od.Add"dll","0001"就清空Dictionary數(shù)組,并將exe、dll加入Dictionary對(duì)象,以備刪除之用。Cn=Rg(Ks&"Help\Count")讀注冊(cè)表中的HKEY_CURRENT_USER\Software\Help\Count鍵值。IfCn=""ThenCn=1如果Count為0,就設(shè)為1。EndIfRwKs&"Help\Count",Cn+1HKEY_CURRENT_USER\Software\Help\Count鍵值,記錄感染文件的個(gè)數(shù),添加作為病毒觸發(fā)條件之一。f1=Rg(Ks&"Help\FileName")讀HKEY_CURRENT_USER\Software\Help\FileName鍵值。f2=FNext(Of,Od,f1)得到該文件的文件名。fext=GetExt(Of,Od,f2)得到該文件擴(kuò)展名的代號(hào)。感染文件的后綴名均儲(chǔ)存在HKEY_CURRENT_USER\Software\Help\FileName。wp=Rg("HKEY_CURRENT_USER\ControlPanel\desktop\WallPaper")IfRg(Ks&"Help\wallPaper")<>wpOrwp=""Then比較桌面墻紙是否已改變。Ifwp=""Thenn1=""n3=Cs&"\Help.htm"ElsemP=Of.GetFile(wp).ParentFoldern1=Of.GetFileName(wp)n2=Of.GetBaseName(wp)n3=Cs&"\"&n2&".htm"病毒源程序建立一個(gè)新的默認(rèn)壁紙,顯示一個(gè)被感染的Help.htm頁(yè)面,使病毒可以在啟動(dòng)時(shí)自動(dòng)運(yùn)行。為了更好的隱藏自己,它會(huì)盡可能的使用一個(gè)和被感染之前相同的壁紙。RwKs&"Help\wallPaper",n3Rw"HKEY_CURRENT_USER\ControlPanel\desktop\wallPaper",n3將帶毒的超文本設(shè)置成活動(dòng)桌面。Web=Cs&"\WEB"Setgf=Of.GetFolder(Web).Files得到windows\web文件夾里的文件。Od.Add"htt","1100"向Dictionary里添加htt項(xiàng)目對(duì),病毒感染在Windows\web文件夾底下的.htt文件。超文本模板htt文件是用來(lái)設(shè)計(jì)和觀看文件夾的內(nèi)容的。若設(shè)定以Web方式瀏覽文件夾,則每次瀏覽的文件夾都會(huì)被病毒感染。FunctionIsHTML()此函數(shù)判斷是不是html文件以便進(jìn)行感染,判斷其余類型文件類似。DimErrTestOnErrorResumeNextErrTest=document.LocationIfErThenIsHTML=False如果出錯(cuò),則不是該類型文件。ElseIsHTML=TrueEndIfEndFunctionFunctionIsDel(S)此函數(shù)查看當(dāng)前文件是否是要?jiǎng)h除的文件類型。IfMid(S,4,1)=1Then檢查S的第四個(gè)字符是否是1——即是0001,則為exe和dll文件。IsDel=True如是,返回True,以備刪除。ElseIsDel=False如不是,返回False。EndIfEndFunction4.2.2歡樂(lè)時(shí)光病毒主要特點(diǎn)當(dāng)用瀏覽器打開一個(gè)被感染的html文件時(shí),病毒會(huì)設(shè)置網(wǎng)頁(yè)的時(shí)間中斷事件,每10秒運(yùn)行執(zhí)行Help.vbs一次,該文件存放在C:\盤下第一個(gè)子目錄下。如果通過(guò)hta文件激活病毒,病毒還會(huì)在C:\盤下第一個(gè)子目錄下生成Help.hta文件并執(zhí)行。若執(zhí)行感染病毒的VBS文件,如果日期和月份數(shù)字之和是13,則病毒會(huì)刪除從C盤找到的第一個(gè)exe或dll文件;如果是其他時(shí)間,則從C盤找到第一個(gè)html、vbs、htm或asp文件,從文件內(nèi)容中找到mailto語(yǔ)句,分解出若干收件人郵件地址,發(fā)送帶有病毒附件(附件名Untitled.htm)的郵件,然后置換文件內(nèi)容為病毒代碼。當(dāng)病毒被執(zhí)行的次數(shù)為366的整數(shù)倍時(shí),如果當(dāng)前時(shí)間的秒數(shù)值正好是偶數(shù),則取得OutlookExpress收件箱(不包括子目錄)中所有信件的發(fā)件人地址和主題,然后以轉(zhuǎn)發(fā)原信件為主題,給這些地址發(fā)送信件,附件為Untitled.htm病毒文件;如果秒數(shù)為奇數(shù),則讀取Outlook地址簿中所有聯(lián)系人的E-mail地址,分別發(fā)送主題為Help、附件為Untitled.htm病毒文檔的郵件。此外,病毒還會(huì)修改桌面墻紙的設(shè)置,若無(wú)墻紙則會(huì)設(shè)置成Help.htm,若有墻紙則修改為與原墻紙文件名相同,擴(kuò)展名為htm的文件,而這些文件中帶有病毒代碼。因此,一個(gè)能檢測(cè)到歡樂(lè)時(shí)光腳本病毒的檢測(cè)工具必須要對(duì)以上的病毒重要特性進(jìn)行針對(duì)性的設(shè)計(jì)。如果是通過(guò)腳本或其他方式運(yùn)行病毒,則會(huì)在C:\盤下第一個(gè)子目錄下創(chuàng)建病毒文件Help.vbs,在%Windows%目錄下創(chuàng)建病毒文件Untitled.htm文件。修改注冊(cè)表HKEY_CURRENT_USER\Identities\XXXXXXXX\Software\Microsoft\OutlookExpress\5.0\Mail(其中XXXXXXXX為缺省用戶ID值)項(xiàng)下的三個(gè)鍵值。并查找Windows\Web目錄下所有htm、htt、vbs和asp文件,從中找到mailto語(yǔ)句,分解出若干收件人郵件地址,發(fā)送帶有病毒附件(附件名Untitled.htm)的郵件,然后置換文件內(nèi)容為病毒代碼。病毒腳本代碼的第一行為RemIamsorry!happytime,可以此來(lái)判斷一個(gè)文件是否已被感染。4.3利用匹配病毒感染標(biāo)識(shí)方法檢測(cè)病毒以文本格式存在且可以用文本編輯器打開并可編輯,這是以歡樂(lè)時(shí)光病毒為代表的腳本病毒的最大特點(diǎn)。因此,可以從文件本身的內(nèi)容出發(fā)作出判斷,進(jìn)而有效地檢測(cè)出病毒的存在。檢測(cè)諸如歡樂(lè)時(shí)光等腳本病毒,可以運(yùn)用匹配病毒感染標(biāo)識(shí)的方法。感染標(biāo)識(shí)就是指病毒在感染文件時(shí)會(huì)在被感染文件中寫入某種特定的標(biāo)識(shí),標(biāo)志了文件已被該種病毒所感染。如著名的CIH病毒就會(huì)在入侵的文件中寫入標(biāo)識(shí)“CIH”,“歡樂(lè)時(shí)光”病毒則會(huì)寫入標(biāo)識(shí)“RemIamsorry~HappyTime~”等。一般認(rèn)為,在正常情況下,例如文件在未被歡樂(lè)時(shí)光感染之前,文件內(nèi)容不會(huì)含有類似于“RemIamsorry~HappyTime~”這樣非常特別的字符串。在這種情況下,匹配病毒感染標(biāo)識(shí)檢測(cè)病毒的方法就是對(duì)某文件進(jìn)行操作,首先讀入文件內(nèi)容的一行,對(duì)每一個(gè)字符逐一與該病毒的感染標(biāo)識(shí)進(jìn)行比較,直到匹配到有符合的標(biāo)識(shí),否則進(jìn)行下一行的匹配。為達(dá)到檢測(cè)的準(zhǔn)確性,匹配規(guī)則比較嚴(yán)格,除非文件中某一字符串與病毒感染標(biāo)識(shí)的每一字符,包括標(biāo)點(diǎn)和空格等完全匹配,才被認(rèn)作為是病毒感染標(biāo)識(shí)。這一點(diǎn)是由病毒本身所決定,病毒會(huì)對(duì)它所感染的文件都寫入相同的標(biāo)識(shí)。當(dāng)匹配到與病毒標(biāo)識(shí)相同的字符串時(shí),檢測(cè)工具則立即報(bào)警提示該文件被病毒感染。匹配病毒感染標(biāo)識(shí)檢測(cè)病毒的方法有它不足的地方。首先若使用匹配病毒感染標(biāo)識(shí)檢測(cè)病毒,就需要明確病毒的感染標(biāo)識(shí),若某種病毒的病毒感染標(biāo)識(shí)沒(méi)有被明確,檢測(cè)工具就很難檢測(cè)到病毒。匹配病毒感染標(biāo)識(shí)檢測(cè)病毒的方法適用于檢測(cè)已知病毒,不能檢測(cè)未知病毒。另一方面,不是所有的病毒都具有感染文件后寫入病毒感染標(biāo)識(shí)的特點(diǎn)。若病毒不寫入病毒感染標(biāo)識(shí),這種檢測(cè)方法同樣失效。雖然這種方法受到某些條件的約束,以至于這種方法并不使用于所有的病毒檢測(cè),它并不作為大多數(shù)反病毒軟件的主要檢測(cè)方法,然而匹配病毒感染標(biāo)識(shí)檢測(cè)病毒的檢測(cè)方法簡(jiǎn)單,尤其是在對(duì)于諸如“歡樂(lè)時(shí)光”腳本病毒的檢測(cè)時(shí)更具針對(duì)性,因此,這種方法可以作為計(jì)算機(jī)病毒專殺工具的一種有效檢測(cè)方法。5設(shè)計(jì)與實(shí)現(xiàn)5.1總體設(shè)計(jì)思想本病毒檢測(cè)工具專門針對(duì)歡樂(lè)時(shí)光腳本病毒,采用匹配病毒感染標(biāo)識(shí)的方法進(jìn)行檢測(cè)。查毒功能指當(dāng)檢查到有文件被病毒感染時(shí),提供報(bào)警并刪除病毒腳本。掃描文件由遍歷文件的方法實(shí)現(xiàn),遍歷文件一般采用遞歸調(diào)用的算法實(shí)現(xiàn)。檢測(cè)病毒即病毒感染標(biāo)識(shí)字符串的匹配由字符的逐一匹配實(shí)現(xiàn)。在遍歷文件的同時(shí)進(jìn)行病毒檢測(cè)。同時(shí)清理注冊(cè)表功能還可清理病毒修改的某些注冊(cè)表項(xiàng),此外提供病毒相關(guān)信息。限制軟件使用次數(shù)是指用戶在有限次數(shù)內(nèi)使用該工具,超出這個(gè)范圍軟件不會(huì)出現(xiàn)主界面即不能使用。5.2遍歷文件的實(shí)現(xiàn)文件遍歷技術(shù)是一種非常有用的技術(shù),在文件的搜索以及殺毒軟件中都使用了這種技術(shù)。文件遍歷技術(shù)的核心就是使用遞歸算法。遞歸調(diào)用是指一個(gè)函數(shù)在其代碼中反復(fù)調(diào)用自身的過(guò)程。首先基于Windows的特殊性,當(dāng)某一路徑是根目錄,在路徑的最后有一個(gè)路徑分隔符“\”,若某一路徑不是根目錄,在其路徑的最后就沒(méi)有路徑分隔符“\”。所以在編寫代碼的時(shí)候必須對(duì)這兩種情況分別處理。另外值得注意的是,在Windows系統(tǒng)中有兩種隱含的特殊文件“.”和“..”,一個(gè)點(diǎn)代表的是當(dāng)前目錄,兩個(gè)點(diǎn)代表的是上一級(jí)目錄。這種情況在Windows資源管理器中看不到,只有在命令行中輸入dir命令回車即可看到這兩個(gè)文件夾。如圖1所示:圖1命令行狀態(tài)下顯示出當(dāng)前目錄和上級(jí)目錄在遍歷文件夾時(shí)必須“.”與“..”這兩個(gè)目錄,因?yàn)?,在遍歷文件的時(shí)候,如果找到的是目錄,則進(jìn)入此目錄進(jìn)行遞歸;但若是找到的是當(dāng)前目錄呢,則進(jìn)入此目錄,也就是再一次進(jìn)入當(dāng)前目錄,如果不對(duì)其進(jìn)行過(guò)濾,那么程序?qū)⑦M(jìn)入“當(dāng)前目錄”進(jìn)行遞歸,這將導(dǎo)致遞歸無(wú)休止地進(jìn)行下去,程序?qū)⑾萑胨姥h(huán)。代碼如下://程序中遍歷文件的代碼BOOLKillVirusDir(CStringdirname,constCStringArray&arSuffix){if(dirname[dirname.GetLength()-1]!='\\')dirname+='\\';CStringoldDirName=dirname;dirname+="*.*";//遍歷所有文件HANDLEhRes;WIN32_FIND_DATAwfd;//調(diào)用API函數(shù),以下的FindFirstFile,F(xiàn)indNextFile均為API函數(shù),用作文件操作CStringstrTemp;hRes=FindFirstFile(dirname,&wfd);//從初始目錄開始,F(xiàn)indFirstFile得到第一個(gè)文件句柄while(hRes!=INVALID_HANDLE_VALUE)//沒(méi)有找到或查找失敗就結(jié)束查找{if(!(wfd.cFileName==CString(".")||wfd.cFileName==CString("..")))//若找到當(dāng)前目錄或上級(jí)目錄就進(jìn)行過(guò)濾{if(wfd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY){strTemp.Format(wfd.cFileName);if(strTemp[strTemp.GetLength()-1]!='\\')strTemp=oldDirName+strTemp+"\\";plist->WriteString(strTemp);plist->WriteString("\n");KillVirusDir(strTemp,arSuffix);}//若當(dāng)前仍是文件夾,進(jìn)行遞歸else{strTemp=oldDirName+wfd.cFileName;plist->WriteString(strTemp);plist->WriteString("\n");KillVirusFile(strTemp,arSuffix);若當(dāng)前是文件,進(jìn)行遞歸}}if(FindNextFile(hRes,&wfd)==FALSE)break;}FindClose(hRes);returnFALSE;}5.3掃描文件的實(shí)現(xiàn)掃描文件的部分代碼如下:BOOLKillVirusFile(constCString&filename){CStdioFilefile;try{file.Open(filename,CFile::modeReadWrite);//以讀寫方式打開文件}//執(zhí)行一個(gè)可能會(huì)出錯(cuò)的操作catch(...){returnFALSE;}//捕捉所用異常事件,進(jìn)行處理,但程序?qū)僬_\(yùn)行(此處省略部分代碼)…if(file.m_hFile!=CFile::hFileNull){try{while(file.ReadString(strLine))//讀入文件一行{strNewLine=strLine;strLine.MakeUpper();if(strLine.Find(szVirusMark)>=0)//匹配到病毒感染標(biāo)識(shí){AfxMessageBox("發(fā)現(xiàn)歡樂(lè)時(shí)光病毒!");//報(bào)警提示strNewLine="</Script>";tempFile.WriteString(strNewLine);file.Close();//刪除病毒感染標(biāo)識(shí)之后腳本,加</Script>作為結(jié)尾,寫入文件,并關(guān)閉文件5.4軟件使用次數(shù)限制實(shí)現(xiàn)限制軟件使用次數(shù),也就是限制軟件的運(yùn)行次數(shù)??梢栽诔绦騼?nèi)部添加一個(gè)修改注冊(cè)表項(xiàng)的模塊,每次程序啟動(dòng)時(shí)讀取該項(xiàng)的值。如果未讀到即該項(xiàng)不存則在說(shuō)明是該軟件是首次使用,直接建立該項(xiàng)并寫入一個(gè)定值,以后每運(yùn)行一次軟件,該注冊(cè)表項(xiàng)的值減1,直到該注冊(cè)表項(xiàng)的值被減到小于程序規(guī)定的一個(gè)值時(shí),說(shuō)明超過(guò)規(guī)定次數(shù)則進(jìn)行提示,而程序也不再進(jìn)入主界面。實(shí)現(xiàn)的代碼如下:unsignedcharbuffer[255]={0};unsignedlonglength;unsignedlongtype;HKEYhKey;RegOpenKey(HKEY_LOCAL_MACHINE,"Software\\dm",&hKey);RegQueryValueEx(hKey,"Num",NULL,&type,buffer,&length);RegCloseKey(hKey);intCount;Count=atoi((constchar*)buffer);if(Count==0)//計(jì)數(shù)器為0說(shuō)明是首次使用{RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\dm",&hKey);//新建注冊(cè)表項(xiàng)RegSetValueEx(hKey,"Num",0,REG_SZ,(constunsignedchar*)"5",strlen("5"));//設(shè)值為5表示只能使用5次RegCloseKey(hKey);MessageBox(NULL,"本軟件有使用次數(shù)限制\n您還可以使用5次","歡迎使用",MB_OK);//提示信息}elseif(Count==1){MessageBox(NULL,"您已經(jīng)使用過(guò)5次,不能再使用本軟件","抱歉",MB_OK);returntrue;}else{charbuf[255]={0};Count-=1;itoa(Count,buf,10);CStringstr;str.Format("您還可以使用%d次!",Count);MessageBox(NULL,str,"歡迎使用",MB_OK);RegOpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\dm",&hKey);RegSetValueEx(hKey,"Num",0,REG_SZ,(constunsignedchar*)buf,strlen(buf));RegCloseKey(hKey);}//未到期限則顯示剩余使用次數(shù)5.5軟件功能簡(jiǎn)介本設(shè)計(jì)采用VC++編程實(shí)現(xiàn),最后生成一個(gè)可執(zhí)行的文件,即檢測(cè)工具。雙擊運(yùn)行后程序主界面,如圖2所示,主界面上主要有選擇路徑按鈕、查毒按鈕、清理注冊(cè)表按鈕以及一些與該病毒相關(guān)的其他按鈕如病毒介紹按鈕組成。程序運(yùn)行后用戶可以開始進(jìn)行病毒檢測(cè)工作。第一步是選擇掃描路徑,有兩種方式可以選擇,一是選擇“掃描所有本地硬盤”選項(xiàng),二是單擊“請(qǐng)選擇路徑”按鈕。若選擇“掃描所有本地硬盤”選項(xiàng),檢測(cè)程序?qū)?duì)計(jì)算機(jī)所有分區(qū)所有文件進(jìn)行病毒掃描;若單擊“請(qǐng)選擇路徑”按鈕,用戶可以選擇某路徑進(jìn)行病毒掃描。圖2程序主界面單擊“請(qǐng)選擇路徑”按鈕,此時(shí)會(huì)彈出一個(gè)選擇文件的窗口,如圖3所示。用戶可以根據(jù)實(shí)際情況選擇某一路徑作為掃描路徑。圖3選擇文件對(duì)話框點(diǎn)擊選擇路徑按鈕,選擇待檢測(cè)文的文件或文件夾,然后點(diǎn)擊查毒按鈕,“查毒”按鈕的顯示變?yōu)椤罢?qǐng)稍后...”,此時(shí)檢測(cè)工具正在進(jìn)行病毒檢測(cè),如圖4所示。圖4點(diǎn)擊“查毒”按鈕后當(dāng)發(fā)現(xiàn)病毒時(shí),自動(dòng)彈出一個(gè)警告窗口,提示用戶發(fā)現(xiàn)了歡樂(lè)時(shí)光病毒。如圖5所示。圖5當(dāng)檢測(cè)到病毒時(shí)報(bào)警提示6檢測(cè)工具的測(cè)試測(cè)試環(huán)境:WindowsXPProfessional1(使用次數(shù)限制測(cè)試首次打開該檢測(cè)工具,自動(dòng)彈出提示框“本軟件有使用次數(shù)限制,您還可以使用5次”,關(guān)閉軟件。此后連續(xù)打開再關(guān)閉4次。由于該工具使用次數(shù)限定為5次,第6次打開時(shí)彈出提示框“您已經(jīng)使用過(guò)5次”。由此說(shuō)明該軟件有使用次數(shù)限制的功能。2(病毒檢測(cè)測(cè)試新建文件夾test,在文件夾里放入被歡樂(lè)時(shí)光腳本病毒感染的文件test1.html,test2.htt,test3.hta,test4.htm,test5.asp,以及相應(yīng)類型的未被病毒感染的5個(gè)文件。打開該病毒檢查工具,點(diǎn)擊“請(qǐng)選擇路徑”按鈕,選擇test文件夾并確定。點(diǎn)擊“查毒”按鈕。檢測(cè)工具在檢測(cè)中彈出提示框“發(fā)現(xiàn)歡樂(lè)時(shí)光病毒。病毒腳本已清除”。檢測(cè)結(jié)束后,依次打開之前感染的5個(gè)文件,發(fā)現(xiàn)病毒腳本已被清除。而5個(gè)正常文件的內(nèi)容未被改變。說(shuō)明該軟件可以檢測(cè)到被歡樂(lè)時(shí)光病毒感染的文件,且不會(huì)改動(dòng)未被病毒感染的文件。3(清理相關(guān)注冊(cè)表項(xiàng)測(cè)試檢測(cè)前,注冊(cè)表里發(fā)現(xiàn)注冊(cè)表項(xiàng)HKEY_CURRENT_USER\Software\Help\Count,值為43,注冊(cè)表項(xiàng)HKEY_CURRENT_USER\ControlPanel\desktop\wallpaper指向一個(gè)病毒文件help.htm。檢測(cè)后HKEY_CURRENT_USER\Software\Help\Count已被刪除,且系統(tǒng)壁紙已改非病毒文件。說(shuō)明該軟件可以清理相關(guān)注冊(cè)表項(xiàng)。結(jié)論本文主要分析了歡樂(lè)時(shí)光腳本病毒的原理及特點(diǎn),并專門針對(duì)該腳本病毒,結(jié)合其特點(diǎn)設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)針對(duì)“歡樂(lè)時(shí)光”腳本病毒的檢測(cè)工具。該病毒檢測(cè)工具可以有效地檢測(cè)到計(jì)算機(jī)系統(tǒng)內(nèi)所有被歡樂(lè)時(shí)光腳本病毒感染的文件并自動(dòng)清除病毒腳本,同時(shí)還提供全硬盤掃描和選擇路徑掃描、清理相關(guān)注冊(cè)表項(xiàng)、限制軟件使用次數(shù)等功能。該病毒檢測(cè)工具能夠準(zhǔn)確地檢測(cè)到計(jì)算機(jī)系統(tǒng)中被歡樂(lè)時(shí)光腳本病毒所感染的文件并刪除病毒腳本。參考文獻(xiàn)[1]PeterSzor[美].計(jì)算機(jī)病毒防范藝術(shù)[M].楊波譯.北京:機(jī)械工業(yè)出版社,2007.10。[2]黃維通.VisualC++面向?qū)ο笈c可視化程序設(shè)計(jì)(第二版)[M].北京:清華大學(xué)出版社,2003.6。[3]張仁斌.計(jì)算機(jī)病毒與反病毒技術(shù)[M].北京:清華大學(xué)出版社,2006.5。[4]韓筱卿.計(jì)算機(jī)病毒分析與防范大全[M].北京:電子工業(yè)出版社,2006.10。[5]徐光翔.常見計(jì)算機(jī)病毒掃描[J].電腦知識(shí)與技術(shù),2002,(9):52,53。[6]郭自偉.病毒癥狀及四種檢測(cè)方法[J].信息網(wǎng)絡(luò)技術(shù),2000,(1):30,31。[7]莊景明.計(jì)算機(jī)病毒剖析與防治[J].信息與網(wǎng)絡(luò)安全,2006,(3):44—47。[8]周公望.淺析計(jì)算機(jī)病毒[J].信息與網(wǎng)絡(luò)安全,2004,(7):23-24。[9]唐屹.未知病毒行為分析與防御[J].網(wǎng)管員世界,2006,(11):15,17。[10]李欣.遍歷文件夾的方法[J].電腦知識(shí)與技術(shù),2004,(2):31—32。[11]楊濤.淺談歡樂(lè)時(shí)光腳本病毒[J].信息與網(wǎng)絡(luò)安全,2005,(6):22,24。致謝本文是在張金全老師的熱情關(guān)心和指導(dǎo)下完成的,他淵博的知識(shí)和嚴(yán)謹(jǐn)?shù)闹螌W(xué)作風(fēng)使我受益匪淺,對(duì)順利完成本課題起到了極大的作用。在此向他表示我最衷心的感謝~在論文完成過(guò)程中,本人還得到了李飛老師和胡堯同學(xué)的熱心幫助,本人向他們表示深深的謝意~最后向在百忙之中評(píng)審本文的各位專家、老師表示衷心的感謝~作者簡(jiǎn)介:姓名:傅博性別:男出生年月:1984年9月民族:漢E-mail:fubo_winner@聲明本論文的工作是2007年2月至2007年6月在成都信息工程學(xué)院網(wǎng)絡(luò)工程系完成的。文中除了特別加以標(biāo)注地方外,不包含他人已經(jīng)發(fā)表或撰寫過(guò)的研究成果,也不包含為獲得成都信息工程學(xué)院或其他教學(xué)機(jī)構(gòu)的學(xué)位或證書而使用過(guò)的材料。除非另有說(shuō)明,本文的工作是原始性工作。關(guān)于學(xué)位論文使用權(quán)和研究成果知識(shí)產(chǎn)權(quán)的說(shuō)明:本人完全了解成都信息工程學(xué)院有關(guān)保管使用學(xué)位論文的規(guī)定,其中包括:(1)學(xué)校有權(quán)保管并向有關(guān)部門遞交學(xué)位論文的原件與復(fù)印件。(2)學(xué)校可以采用影印、縮印或其他復(fù)制方式保存學(xué)位論文。(3)學(xué)??梢詫W(xué)術(shù)交流為目的復(fù)制、贈(zèng)送和交換學(xué)位論文。(4)學(xué)校可允許學(xué)位論文被查閱或借閱。(5)學(xué)??梢怨紝W(xué)位論文的全部或部分內(nèi)容(保密學(xué)位論文在解密后遵守此規(guī)定)。除非另有科研合同和其他法律文書的制約,本論文的科研成果屬于成都信息工程學(xué)院。特此聲明~作者簽名:2007年6月日ooling?"Ciroccofrownedfromonepicturetotheother."Justalotoflittleblackdotstome.""Well,yeah.Youcan'tseeanythingwithoutthecomparometer.That'sitrightthere."Sheindicatedanareawithherlittle%er."Let'sgotakealook."Ciroccorummagedthroughherlockerandfoundapea-greenshipsuitthatsmelledasgoodasanyofthem.Mostofthehandyvelcropatcheswerepeeling.Herroomwasatthebottomofthecarousel,midwaybetweenladdersthreeandfour.ShefollowedGabyaroundthecurvingfloor,thenpursuedheruptheladder.Eachrungwasalittleeasierthanthelastuntil,atthehub,theywereweightless.Theypushedofffromtheslowlyrotatingringanddrifteddownthecentralcorridortothesciencemodule.SCIMODinNASA-ese.Itwaskeptdarktomaketheinstrumentseasiertoread,andwasascolourfulastheinsideofajuke-box.Ciroccolikedit.Greenlightsblinkedandbanksoftelevisionscreenshissedwhitenoisethroughconfetticloudsofsnow.UgeneSpringfieldandthePolosistersfloatedaroundthecentralholotank.Theirfaceswerebathedintheredglow.Gabyhandedtheplatestothecomputer,punchedupanimage-intensifyingprogram,andindicatedthescreenCiroccoshouldwatch.Thepicturesweresharpened,combined,thenrapidlyalternated.Twominisculedotsblinked,notfarfromeachother."Thereitis,"Gabysaidproudly."Smallpropermotion,buttheplatesareonlytwenty-threehoursapart."Genecalledtothem."Orbitalelementsarecomingin,"hesaid.GabyandCiroccojoinedhim.CiroccoglanceddownandsawhisarmgopossessivelyaroundGaby'swaist,lookedquicklyaway,notingthatthePolosistershadseenitandwerejustascarefulnottonotice.Theyhadalllearnedtostayoutofeachother'saffairs.Saturnsatinthemiddleofthetank,fatandbrassy.Eightbluecirclesweredrawnaroundit,eachlargerthanthelast,eachintheequatorialplaneoftherings.Therewasasphereoneachcircle,likeasinglepearlonastring,andbesidethepearlswerenamesandnumbers:Mnemosyne,Janus,Mimas,Enceladus,Tethys,Dione,Rhea,Titan,andHyperion.Farbeyondthoseorbitswasatenthone,visiblytilted.ThatwasIapetus.Phoebe,themostdistant,couldnotbeshownonthescaletheywereusing.Nowanothercirclewasdrawnin.Itwasaneccentricellipse,almosttangenttotheorbitsofRheaandHyperion,cuttingrightacrossthecirclethatrepresentedTitan.Ciroccostudiedit,thenstraightened.Lookingup,shesawdeeplinesetchedonGaby'sforeheadasherfingersflewoverthekeyboard.Witheachpro-gramshecalledup,thenumbersonherscreenchanged."IthadaveryclosecallwithRheaaboutthreemillionyearsago,"shenoted."It'ssafelyaboveTitan'sorbit,thoughperturbationsmustbeafactor.It'sfarfromstabilized.""Meaningwhat?"Ciroccoasked."Capturedasteroid?"Gabysuggested,oneeyebrowraiseddoubtfully."Theproximitytotheequatorialplanewouldmakethatun-likely,"oneofthePolosisterssaid.AprilorAugust?Ciroccowondered.Aftereighteenmonthstogethershestillcouldn'ttellthemapart."Iwasafraidyou'dseethat."Gabychewedaknuckle."Yetifitwasformedwiththeothers,itoughttobelesseccentric."ThePoloshrugged.'"Therearewaystoexplainit.Acatastrophiceventintherecentpast.ItBill'stonguehadstartedatCirocco'stoesandwasnowexploringherleftcar.Shelikedthat.Ithadbeenamemorablejourney.Ciroccohadlovedeverycentimeterofit;someofthestopsalongthewayhadbeenoutrageous.Nowhewasworryingherearlobewithhislipsandteeth,tugginggentlytoturnheraround.Sheletithappen.Henudgedhershoulderwithhischinandnosetogetherturningfaster.Shebegantorotate.Shefeltwwhathewasdoing.Shelockedherlegsaroundhishipsandlethimdothemoving.Billwasforty,theoldestofthecrew,andhadafacedominatedbyalumpynoseandjowlsthatcouldhavegracedabassetthound.Hewasbaldingandhisteethwerenotpretty.Buthisbodywasleanandhard,tenyearsyoungerthanhisface.Hishandswereneatandclean,preciseintheirmovements.Hewasgoodwithmachinery,butnotthegreasy,noisykind.Histoolkitwouldfitinhisshirtpocket,toolssotinythatCiroccowouldn'tdarehandlethem.Hisdelicatetouchpaidoffwhenhemadelove.Itwasmatchedbyhisgentledisposition.Ciroccowonderedwhyithadtakenhersolongtofindhim.TherewerethreemenaboardRingmaster,andCiroccohadmadelovetothemall.SohadGabyPlawastallerthanmostofthem.Shethoughtitwasmoreinhiseyes,whichweresoftandbrownandliquid.Andhissmile.ThoseeyesandthatsmilehaddonenothingforGaby,justasCirocco'scharmshadnotinterestedGene,hersecondchoice."Matareyousmilingabout?"Billasked."Don'tyouthinkyou'regivingmeenoughreason?"shecountered,alittlebreathlessly.ButthetruthwasshehadbeenthinkingofhowamusingthefourofthemmusthavelookedtoBill,whohadstayedoutoftheshuffleofbodies.Thatseemedtobehisstyle,tositbackandletpeoplesortthemselvesout,thenmoveinwhenitbegantobedepressing.Calvinhadcertainlybeendepressed.SohadCirocco

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論