欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

檢測和清除計(jì)算機(jī)病毒的系統(tǒng)和方法

文檔序號(hào):6437506閱讀:527來源:國知局
專利名稱:檢測和清除計(jì)算機(jī)病毒的系統(tǒng)和方法
技術(shù)領(lǐng)域
本發(fā)明是有關(guān)于一種計(jì)算機(jī)病毒的檢測和清除的技術(shù),特別是一種用自定義的腳本檢測和清除計(jì)算機(jī)病毒的系統(tǒng),以及采用此系統(tǒng)進(jìn)行計(jì)算機(jī)病毒的檢測和清除的方法。
背景技術(shù)
長期以來,計(jì)算機(jī)病毒成為困擾使用計(jì)算機(jī)的人們的一個(gè)重大問題。計(jì)算機(jī)病毒的危害是多方面的,在小的方面,它可以讓計(jì)算機(jī)不能正常工作,把工作成果毀壞一空;在大的方面,它可以使銀行、企業(yè)以及科研機(jī)構(gòu)的計(jì)算機(jī)系統(tǒng)癱瘓,有時(shí)甚至無法用金錢來計(jì)算它所帶來的損失。尤其是網(wǎng)絡(luò)的迅猛發(fā)展,成為病毒傳播最大的途徑。病毒通過比如電子郵件、intemet下載文件等方式進(jìn)行傳播,速度快,范圍更廣。所以,當(dāng)今大多數(shù)個(gè)人和企業(yè)一般采用各大軟件公司提供的查毒和殺毒的各種軟件進(jìn)行查殺毒。隨著病毒的層出不窮,需要定期或不定期地到各大軟件公司下載更新的病毒代碼和掃描引擎,進(jìn)行定期或不定期的查殺毒。
目前對(duì)于已知的各種類型的病毒,查病毒常用的方法是特征碼匹配法。已知其特征碼,通過對(duì)可能帶毒的文件進(jìn)行檢測,尋找病毒特征碼,如找到相應(yīng)病毒的特征碼,則判斷有病毒,進(jìn)而進(jìn)行殺毒。在新的病毒被發(fā)現(xiàn)并被病毒分析員分析后,取得該新病毒的特征碼,將這種新病毒特征碼加入到病毒庫中,通過已加入此病毒庫的引擎才能識(shí)別出這種新病毒。但是,由于這種特征碼不具有可編程的特性,當(dāng)一個(gè)病毒特征碼不能奏效時(shí),只能增加引擎算法來對(duì)付這個(gè)病毒。所以,不僅僅需要用戶經(jīng)常性的更新病毒庫,還需用戶更新引擎。這給用戶和查殺病毒軟件提供商都提供了很大的麻煩,并且浪費(fèi)了大量的時(shí)間和經(jīng)歷。

發(fā)明內(nèi)容
本發(fā)明的主要目的是提供一種跨平臺(tái)的腳本檢測和清除計(jì)算機(jī)病毒的系統(tǒng),即腳本機(jī),使它一次編寫查殺病毒的腳本,就能用于各種軟件平臺(tái)和各種硬件平臺(tái)。
本發(fā)明的另一個(gè)目的是提供一種利用該系統(tǒng)進(jìn)行查殺計(jì)算機(jī)病毒的方法。
一種檢測和清除計(jì)算機(jī)病毒的系統(tǒng),所述系統(tǒng)包括編寫該腳本的腳本語言模塊;將該腳本中的腳本語句編譯成指令碼的腳本編譯器;執(zhí)行該指令碼的腳本執(zhí)行機(jī),該腳本語言模塊是由自定義的基本指令所組成,腳本執(zhí)行機(jī)包含執(zhí)行該字節(jié)指令碼的虛擬CPU和自定義API函數(shù),用該API函數(shù)和基本指令完成腳本語句編寫,虛擬CPU執(zhí)行腳本語句編譯成的字節(jié)指令碼。
將該腳本類型語言執(zhí)行機(jī)成為反病毒引擎的一個(gè)主要組成部分。
一種檢測和清除計(jì)算機(jī)病毒的方法,其包括以下步驟a編寫查殺病毒的腳本;b將腳本中的腳本類型語句編譯成字節(jié)指令碼;c并將字節(jié)指令碼傳遞給反病毒引擎的腳本執(zhí)行機(jī)中;d將預(yù)查殺文件傳遞給腳本執(zhí)行機(jī),根據(jù)字節(jié)指令碼對(duì)預(yù)查殺文件進(jìn)行檢測,判斷該文件是否存在病毒;e如果發(fā)現(xiàn)某種病毒,執(zhí)行相應(yīng)病毒的殺毒腳本,進(jìn)行清除病毒。
該方法還包括將字節(jié)指令碼放入病毒庫中,所述反病毒引擎在初始化時(shí)載入該病毒庫。
采用上述的腳本機(jī)進(jìn)行檢測和清除(查殺)病毒,由如下的顯著效果。
1、由于腳本機(jī)與平臺(tái)無關(guān),這樣在各個(gè)平臺(tái)上都可以運(yùn)行相同的腳本,所以,病毒分析員只要在一個(gè)常用的平臺(tái)上實(shí)現(xiàn)即可,少去了調(diào)試的過程,由于腳本語言模塊是由一種文本形式基本指令組成,使其在編寫腳本時(shí)可以及時(shí)發(fā)現(xiàn)錯(cuò)誤,大大簡化病毒分析員的工作。
2、在反病毒引擎載有腳本執(zhí)行機(jī),獲得裝有字節(jié)指令碼的病毒庫后,能直接進(jìn)行查殺毒。每次只要下載或其它方式獲得該病毒的字節(jié)指令碼,就能直接進(jìn)行該病毒的查殺毒工作,不需要下載引擎,能使軟件公司降低了更新查殺病毒軟件的成本,最重要的是使廣大的用戶得到了便利。


圖1為本發(fā)明的檢測和清除計(jì)算機(jī)病毒的系統(tǒng)的結(jié)構(gòu)框圖。
圖2為采用本發(fā)明的檢測和清除計(jì)算機(jī)病毒系統(tǒng)進(jìn)行檢測和清除病毒的方法工作流程圖。
具體實(shí)施例方式
本發(fā)明提供一種檢測和清除計(jì)算機(jī)病毒的系統(tǒng),即腳本機(jī)100,包括腳本語言模塊110,用來編寫查殺病毒的腳本,該腳本由腳本語句組成;腳本編譯器120,用于將腳本語句編譯成字節(jié)指令碼;及腳本執(zhí)行機(jī)130,用于運(yùn)行字節(jié)指令碼完成查殺病毒工作。
腳本語言模塊110,該腳本語言模塊110提供了編寫查殺病毒的腳本的環(huán)境。該腳本語言模塊110包含由自定義的基本指令112組成的基本指令集,其中有算術(shù)運(yùn)算、邏輯判斷、跳轉(zhuǎn)語句、循環(huán)語句、比較語句等等。腳本是由一條條腳本語句組成,而腳本語句可以調(diào)用基本指令112。由于腳本語言模塊110中所編寫的腳本語句具有不使用平臺(tái)相關(guān)的特征,所以它具有跨平臺(tái)的特征。在設(shè)計(jì)時(shí),為了使基本指令跟字節(jié)指令碼相一一對(duì)應(yīng),沒有采用類似c語言的語法,而采取了類似匯編語言的語法,采用這種語法編寫,使病毒分析員很容易上手,簡化了編寫查毒和殺毒腳本的難度。
腳本編譯器120,用于將腳本語句編譯成字節(jié)指令碼。由于腳本執(zhí)行機(jī)130運(yùn)行字節(jié)指令碼,而字節(jié)指令碼是十六進(jìn)制的編碼,很不容易進(jìn)行編寫,設(shè)計(jì)了上述的腳本語言的基本指令112,所以就需要腳本編譯器120,將其腳本語句編譯成腳本執(zhí)行機(jī)130能夠執(zhí)行的字節(jié)指令碼。這一步驟可以使實(shí)際使用的腳本節(jié)約了存儲(chǔ)空間,另一方面可以檢查腳本的語法問題,使病毒分析員在編寫腳本時(shí)可以及時(shí)發(fā)現(xiàn)錯(cuò)誤。
由于腳本設(shè)計(jì)與各種系統(tǒng)平臺(tái)和硬件平臺(tái)無關(guān)的,在各個(gè)平臺(tái)的腳本執(zhí)行機(jī)130都可以運(yùn)行相同的字節(jié)指令碼,所以腳本編譯器120無需在各個(gè)平臺(tái)都實(shí)現(xiàn),只需在一個(gè)常用的操作平臺(tái),如windows平臺(tái)實(shí)現(xiàn)即可,用該平臺(tái)的腳本語言模塊110編譯出查殺病毒的字節(jié)指令碼。這樣的話,病毒分析員不僅可以選擇一個(gè)常用或熟悉的平臺(tái)進(jìn)行編寫腳本,而且還省去了到各個(gè)平臺(tái)進(jìn)行調(diào)試的時(shí)間和經(jīng)歷,完全意義上作到跨平臺(tái)。
腳本執(zhí)行機(jī)130,該腳本執(zhí)行機(jī)130提供腳本的API函數(shù)(ApplicationProgram Interface應(yīng)用程序接口)132和虛擬CPU134。該自定義的腳本API函數(shù)132,能完成跟平臺(tái)相關(guān)的或較復(fù)雜的功能,例如是文件操作、內(nèi)存操作等。其包括文件操作API函數(shù)、緩沖區(qū)解碼API函數(shù),以及針對(duì)文件格式的專用API函數(shù)如MZ文件處API函數(shù),PE文件處理API函數(shù)、OLE文件處理API函數(shù)、引導(dǎo)區(qū)處理API函數(shù)等等。通過調(diào)用該些文件操作API函數(shù),進(jìn)行如下的文件操作,如創(chuàng)建、刪除、復(fù)制、查找、調(diào)用、刷新、讀取等。調(diào)用腳本API函數(shù)132和腳本語言模塊110的基本指令112,完成腳本語句的編寫,一個(gè)查病毒的腳本是許多的腳本語句所組成。病毒分析員能在分析完病毒的特征后可以完成查毒腳本。同樣,針對(duì)該病毒的特征所應(yīng)采取的處理方法,完成殺毒腳本。
本虛擬CPU134包含大量的內(nèi)部寄存器、標(biāo)志位等。在實(shí)施過程中,采用了256個(gè)寄存器、堆棧、堆棧指針、標(biāo)志位、指令指針。這些數(shù)據(jù)包含在一個(gè)結(jié)構(gòu)中。該虛擬機(jī)134,對(duì)每一條腳本語句對(duì)應(yīng)的字節(jié)指令碼的解釋執(zhí)行,具體地說,是腳本機(jī)的解釋器,對(duì)腳本語句的解釋執(zhí)行。完成這項(xiàng)工作的是虛擬CPU中的執(zhí)行函數(shù)136,該執(zhí)行函數(shù)136為該腳本機(jī)是最重要的部分,可以用匯編語言、C語言或其它語言寫。為了可移植性及可維護(hù)性,按照本發(fā)明的一個(gè)實(shí)施例,采用C語言編寫。該執(zhí)行函數(shù)136就象是一個(gè)真實(shí)CPU指令解釋器。對(duì)腳本是解釋執(zhí)行,如一個(gè)真正的CPU,能讀懂每一條字節(jié)指令碼并正確執(zhí)行。除了執(zhí)行函數(shù)136,對(duì)外還引出幾個(gè)函數(shù),例如初始化函數(shù)138、反初始化函數(shù)140。其中初始化函數(shù)138用于腳本執(zhí)行機(jī)130本身的初始化、分配需要的內(nèi)存等;反初始化函數(shù)140用于釋放腳本執(zhí)行機(jī)130運(yùn)行時(shí)分配的內(nèi)存等。
該執(zhí)行機(jī)130用可移植性的語言比如C語言進(jìn)行開發(fā),保證在各系統(tǒng)平臺(tái)、硬件平臺(tái)的移植性。在不同的系統(tǒng)平臺(tái)、硬件平臺(tái)分別編譯一次產(chǎn)生相應(yīng)平臺(tái)的二進(jìn)制代碼,該腳本執(zhí)行機(jī)130就可以在該平臺(tái)上運(yùn)行。所以,該系統(tǒng)能適用于各種軟件平臺(tái),各種硬件平臺(tái)例如是x86、SPARC、MIPS、ALPHA、ARM等甚至巨型機(jī)。
該腳本執(zhí)行機(jī)130可以作為一個(gè)反病毒引擎的組件模塊。引擎是查殺病毒軟件中的核心。將本發(fā)明所述的腳本執(zhí)行機(jī)130作為引擎的重要組成部分,病毒分析員將查病毒的腳本和相應(yīng)的殺病毒的腳本編譯成字節(jié)指令碼裝入病毒庫,利用上述的引擎載入病毒庫進(jìn)行查殺病毒,具體的步驟如下。同時(shí)請(qǐng)參閱圖2,該方法的主要步驟流程圖。
S200,病毒分析員根據(jù)該病毒的特征進(jìn)行分析,利用基本指令112和腳本API函數(shù)132,編寫腳本語句形成腳本;S210,腳本編譯器120編譯該腳本,當(dāng)腳本中出現(xiàn)腳本語句的語法錯(cuò)誤時(shí),進(jìn)行提示要求改正,只有沒有語法錯(cuò)誤后,才能將該些腳本語句編譯成對(duì)應(yīng)的字節(jié)指令碼,并且將此字節(jié)指令碼保存在病毒庫中;S220反病毒引擎在初始化時(shí)加載該病毒庫,并將病毒庫中的查殺病毒的腳本的字節(jié)指令碼傳遞給腳本執(zhí)行機(jī)130的執(zhí)行函數(shù)136;S230將預(yù)查殺文件傳遞給腳本執(zhí)行機(jī)130的執(zhí)行函數(shù)136,腳本執(zhí)行機(jī)130依據(jù)所有相應(yīng)的查毒腳本,判斷該文件是否存在病毒中??梢赃x擇靈活的方式進(jìn)行檢測工作,例如是根據(jù)計(jì)算機(jī)病毒中的關(guān)鍵字、特征程序段內(nèi)容、病毒特征及傳染方式、文件長度的變化,在特征分類的基礎(chǔ)上進(jìn)行檢測工作,或是對(duì)某個(gè)文件或數(shù)據(jù)段進(jìn)行檢驗(yàn)和計(jì)算并保存其結(jié)果而后根據(jù)保存的結(jié)果對(duì)該文件或數(shù)據(jù)段進(jìn)行檢驗(yàn)是否存在病毒等;S240如果發(fā)現(xiàn)某種病毒,向用戶進(jìn)行詢問,如何處理該病毒,比如,清除、隔離等,根據(jù)客戶的響應(yīng),執(zhí)行對(duì)應(yīng)的病毒的殺毒腳本,進(jìn)行病毒處理工作。根據(jù)具體病毒的清除方法從傳染的程序中除去計(jì)算機(jī)病毒代碼并恢復(fù)文件的原有結(jié)構(gòu)信息,這和公知的清除病毒的方法一致,不在這進(jìn)行敘述。
在具體的實(shí)施過程中,病毒分析員將含有字節(jié)指令碼的病毒庫、上述反病毒引擎放在網(wǎng)上或是加載于軟件中,客戶將下載裝入或通過軟件直接載入各自的系統(tǒng)即可進(jìn)行查殺毒,包含有腳本執(zhí)行機(jī)130的反病毒引擎只在系統(tǒng)中裝入一次即可。經(jīng)常性更新的僅是裝有查病毒的字節(jié)指令或相應(yīng)的殺病毒的字節(jié)指令的病毒庫即可,而不必經(jīng)常性的更新反病毒引擎。
本引擎可以只利用腳本機(jī)來查殺病毒,但在具體實(shí)施方式
中,引擎主要采用腳本機(jī)來查殺病毒,把傳統(tǒng)的特征碼掃描法作為查殺病毒的補(bǔ)充。
本發(fā)明僅僅公開了一個(gè)具體的實(shí)施方式,然并非用來限制本發(fā)明的保護(hù)范圍,本發(fā)明的保護(hù)范圍以權(quán)利要求書的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種檢測和清除計(jì)算機(jī)病毒的系統(tǒng),所述系統(tǒng)包括編寫腳本的腳本語言模塊;將該腳本中的腳本語句編譯成字節(jié)指令碼的腳本編譯器;執(zhí)行該字節(jié)指令碼的腳本執(zhí)行機(jī),其特征在于該腳本語言模塊包含自定義的基本指令,腳本執(zhí)行機(jī)包含執(zhí)行該字節(jié)指令碼的虛擬CPU和自定義API函數(shù),用該API函數(shù)和基本指令完成腳本語句編寫,虛擬CPU執(zhí)行腳本語句編譯成的字節(jié)指令碼。
2.如權(quán)利要求1所述的檢測和清除計(jì)算機(jī)病毒的系統(tǒng),其特征在于虛擬CPU有多個(gè)寄存器、堆棧、堆棧指針、標(biāo)志位和指令指針,并將上述數(shù)據(jù)包含在一個(gè)結(jié)構(gòu)中。
3.如權(quán)利要求1所述的檢測和清除計(jì)算機(jī)病毒的系統(tǒng),其特征在于所述的API函數(shù)中還包含有針對(duì)文件格式的專用API,該專用API提供與操作系統(tǒng)的接口,包括有可執(zhí)行文件處理API、OLE文件處理API及引導(dǎo)區(qū)處理API。
4.如權(quán)利要求1所述的檢測和清除計(jì)算機(jī)病毒的系統(tǒng),其特征在于該虛擬CPU包括有解釋執(zhí)行字節(jié)指令碼的執(zhí)行函數(shù)。
5.一種檢測和清除計(jì)算機(jī)病毒的方法,其特征在于該方法包括以下步驟a編寫查殺病毒的腳本;b將腳本中的腳本類型語句編譯成字節(jié)指令碼;c并將字節(jié)指令碼傳遞給腳本執(zhí)行機(jī)中;d將預(yù)查殺文件傳遞給腳本執(zhí)行機(jī),根據(jù)預(yù)查殺文件依次對(duì)查毒的字節(jié)指令碼進(jìn)行執(zhí)行,判斷該文件是否存在病毒;e如果發(fā)現(xiàn)某種病毒,執(zhí)行相應(yīng)病毒的殺毒腳本,進(jìn)行清除病毒。
6.如權(quán)利要求5所述的檢測和清除計(jì)算機(jī)病毒的方法,其特征在于步驟a中調(diào)用API函數(shù)和基本指令編寫腳本語句成腳本。
7.如權(quán)利要求5所述的檢測和清除計(jì)算機(jī)病毒的方法,其特征在于該方法還提供一包含有腳本執(zhí)行機(jī)的反病毒引擎。
8.如權(quán)利要求7所述的檢測和清除計(jì)算機(jī)病毒的方法,其特征在于該方法還包括將字節(jié)指令碼放入病毒庫中,所述反病毒引擎在初始化時(shí)載入該病毒庫。
9.如權(quán)利要求5所述的檢測和清除計(jì)算機(jī)病毒的方法,其特征在于該步驟e還包括一個(gè)詢問的步驟,發(fā)現(xiàn)病毒后,詢問客戶采用處理的方式,根據(jù)客戶的響應(yīng),執(zhí)行相應(yīng)的殺毒腳本。
全文摘要
本發(fā)明公開了一種檢測和清除計(jì)算機(jī)病毒的系統(tǒng)和方法。該系統(tǒng)包括編寫該腳本的腳本語言模塊;將該腳本中的腳本語句編譯成指令碼的腳本編譯器;執(zhí)行該指令碼的腳本執(zhí)行機(jī),該腳本語言模塊是由自定義的基本指令集所組成,腳本執(zhí)行機(jī)包含執(zhí)行該字節(jié)指令碼的虛擬CPU和自定義API函數(shù)。調(diào)用自定義API函數(shù)和基本指令編寫腳本,將其編譯成字節(jié)指令,用含有腳本執(zhí)行機(jī)的引擎執(zhí)行該些字節(jié)指令完成查毒和殺毒工作??梢砸淮尉帉懖《镜牟闅⒉《镜哪_本,就能適用于各種軟件平臺(tái)和各種硬件平臺(tái)。
文檔編號(hào)G06F11/00GK1516011SQ0310026
公開日2004年7月28日 申請(qǐng)日期2003年1月7日 優(yōu)先權(quán)日2003年1月7日
發(fā)明者李宇雄 申請(qǐng)人:珠海金山軟件股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
政和县| 巴青县| 神木县| 合阳县| 泽州县| 柳江县| 呼玛县| 彭水| 清涧县| 全南县| 万源市| 东乡族自治县| 滨州市| 广东省| 五莲县| 普兰店市| 恭城| 屯门区| 湖北省| 平阴县| 临高县| 南阳市| 阜新| 时尚| 开封县| 健康| 曲水县| 安国市| 宁远县| 海口市| 桑日县| 平果县| 利津县| 上高县| 永新县| 汝阳县| 延吉市| 岑溪市| 旌德县| 黑龙江省| 徐汇区|