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

Ide硬盤裝置設(shè)定在dma傳輸模式下的病毒檢測(cè)方法

文檔序號(hào):6453626閱讀:235來源:國(guó)知局
專利名稱:Ide硬盤裝置設(shè)定在dma傳輸模式下的病毒檢測(cè)方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種計(jì)算機(jī)病毒的檢測(cè)方法,特別涉及一種用來檢測(cè)一設(shè)定在DMA傳輸模式下的IDE硬盤裝置的病毒檢測(cè)方法,可在檢測(cè)到該計(jì)算機(jī)系統(tǒng)以DMA數(shù)據(jù)傳輸方式寫入數(shù)據(jù)至該IDE硬盤裝置時(shí),即時(shí)檢測(cè)可能的病毒。
由于計(jì)算機(jī)科技的快速發(fā)展,使得個(gè)人計(jì)算機(jī)的功能越來越強(qiáng),因而在現(xiàn)代工商業(yè)社會(huì)中的各項(xiàng)的文書作業(yè)、會(huì)計(jì)作業(yè)、工作安排等皆深深依賴計(jì)算機(jī)的輔助,故使得計(jì)算機(jī)數(shù)據(jù)的安全性益形重要。然而,計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)數(shù)據(jù)卻經(jīng)常會(huì)受到計(jì)算機(jī)病毒的破壞,特別是在網(wǎng)際網(wǎng)絡(luò)的普遍使用之后,文件案數(shù)據(jù)的交換、傳輸機(jī)率越來越高,也使得計(jì)算機(jī)病毒的感染機(jī)會(huì)益形提高。
在各種類型的計(jì)算機(jī)病毒中,都有其特有的病毒型態(tài)及傳播途徑,這些計(jì)算機(jī)病毒對(duì)一計(jì)算機(jī)系統(tǒng)而言,都會(huì)造成不同程度的破壞。一般來說,計(jì)算機(jī)病毒可區(qū)分為文件案型、開機(jī)型、復(fù)合型、巨集型等型態(tài)。有些計(jì)算機(jī)病毒的型態(tài)是以其特有的病毒碼寫入至計(jì)算機(jī)系統(tǒng)中的硬盤裝置中,并利用這些區(qū)域作為傳布的媒介,以對(duì)該計(jì)算機(jī)系統(tǒng)的數(shù)據(jù)文件、執(zhí)行文件或啟動(dòng)磁區(qū)進(jìn)行破壞。
因此,若要有效防止病毒碼破壞計(jì)算機(jī)系統(tǒng),則應(yīng)在該病毒碼寫入至硬盤機(jī)之前,即予以檢測(cè)、警告,方能達(dá)到有效防止計(jì)算機(jī)病毒的破壞。此外,由于各種計(jì)算機(jī)系統(tǒng)所使用的界面規(guī)格、工作模式等并不相同,故若要有效防止計(jì)算機(jī)病毒,則尚應(yīng)針對(duì)該計(jì)算機(jī)系統(tǒng)的組態(tài)及該計(jì)算機(jī)系統(tǒng)所使用的特定界面規(guī)格及工作模式,設(shè)計(jì)出一有效的病毒檢測(cè)方法,方能奏效。
在目前普遍使用的個(gè)人計(jì)算機(jī)系統(tǒng)中,其硬盤裝置仍以IDE(IntegratedDevice Electronics)界面為主。為了要加快該IDE界面的傳輸速度,故在大部分的個(gè)人計(jì)算機(jī)系統(tǒng)中,其IDE界面所連接的IDE硬盤裝置依其傳輸模式可區(qū)分為PIO傳輸模式(PIO Access Mode)與DMA傳輸模式(DMA Access Mode)兩種模式,其中PIO傳輸模式又可依據(jù)其最高傳輸速率分為五種模式PIO模式0-4,而DMA傳輸模式亦可依據(jù)其最高傳輸速率而分為單字DMA模式0-2、以及多字DMA模式0-3等數(shù)種模式。
DMA傳輸模式與PIO傳輸模式的差別在于前者是以DMA(直接存儲(chǔ)器存取)通道作直接的數(shù)據(jù)存取,而后者則是通過中央處理單元的控制,來完成數(shù)據(jù)傳輸?shù)膭?dòng)作。
因此,若要有效防止計(jì)算機(jī)系統(tǒng)不受計(jì)算機(jī)病毒的侵入,則需針對(duì)計(jì)算機(jī)系統(tǒng)中的特定的界面、以及不同的工作模式下的特殊執(zhí)行狀況,來設(shè)計(jì)病毒的檢測(cè)方法,方能達(dá)到有效檢測(cè)病毒的目的。例如,對(duì)一IDE界面的硬盤裝置而言,若該硬盤的數(shù)據(jù)傳輸模式是被設(shè)定在DMA傳輸模式下,則即應(yīng)針對(duì)此一模式組態(tài)的特性設(shè)計(jì)出正確的病毒檢測(cè)方法,才能真正達(dá)到病毒防止的目的。
因此,本發(fā)明的主要目的是提供一種檢測(cè)計(jì)算機(jī)病毒的方法,其可在病毒程序企圖寫入病毒碼至計(jì)算機(jī)系統(tǒng)的硬盤裝置中時(shí),予以即時(shí)檢測(cè)出,并發(fā)出一警告,以適時(shí)警告使用者。
本發(fā)明的另一目的是提供一種IDE硬盤裝置設(shè)定在DMA傳輸模式下的病毒檢測(cè)方法。當(dāng)病毒程序企圖以DMA方式寫入任何數(shù)據(jù)至該IDE硬盤裝置時(shí),本發(fā)明即可即時(shí)檢測(cè)出該可能的病毒碼。
本發(fā)明的另一目的是提供一種即時(shí)檢測(cè)DMA傳輸模式下的IDE硬盤裝置的病毒方法,該方法結(jié)合了計(jì)算機(jī)系統(tǒng)的中央處理單元中相關(guān)的控制寄存器、除錯(cuò)地址寄存器、除錯(cuò)控制寄存器、除錯(cuò)狀態(tài)寄存器等來執(zhí)行該病毒的檢測(cè)。
為了實(shí)現(xiàn)本發(fā)明的上述目的,在本發(fā)明的方法中,當(dāng)檢測(cè)出中央處理單元所發(fā)出的除錯(cuò)狀況時(shí),首先判斷該中央處理單元中的除錯(cuò)狀態(tài)寄存器中對(duì)應(yīng)于1F7h及177h的中斷點(diǎn)條件是否被設(shè)定。若是,則判斷目前執(zhí)行的指令是否為OUT或OUTS,若是,則判斷該寫入數(shù)據(jù)至硬盤裝置的動(dòng)作是否為DMA傳輸模式。若是,則再判斷IDE控制器是否發(fā)出硬件中斷要求的信號(hào),若是,則讀取IDE控制器中的組態(tài)寄存器的PRDT值,并取得DMA基底地址及字節(jié)計(jì)數(shù)值。最后,掃描并對(duì)比該DMA基底地址及字節(jié)計(jì)數(shù)值所定義的數(shù)據(jù)區(qū)塊與預(yù)存的已知病毒碼,并在找到相吻合的已知病毒碼時(shí)發(fā)出警示。
本發(fā)明的其它目的及其詳細(xì)的病毒檢測(cè)步驟,將由以下較佳實(shí)施例說明并結(jié)合附圖,作進(jìn)一步的說明,其中

圖1是顯示一包括有總線主控器IDE控制器的計(jì)算機(jī)系統(tǒng)簡(jiǎn)化示意圖;圖2是顯示一Pentium級(jí)中央處理單元內(nèi)部與本發(fā)明方法相關(guān)的寄存器示意圖;圖3是顯示本發(fā)明病毒檢測(cè)方法的流程圖;圖4是接續(xù)圖3的本發(fā)明控制流程圖;圖5是顯示圖4的步驟111中所述PRDT的數(shù)據(jù)格式。
圖1是顯示一包括有總線主控器IDE控制器的計(jì)算機(jī)系統(tǒng)簡(jiǎn)化示意圖。在該簡(jiǎn)化示意圖中,計(jì)算機(jī)系統(tǒng)中的中央處理單元1是通過系統(tǒng)總線與系統(tǒng)存儲(chǔ)器2連接,該系統(tǒng)總線包括有數(shù)據(jù)總線DATA、地址總線AD、存儲(chǔ)器寫入MEMW #、存儲(chǔ)器讀取MEMR #等信號(hào)。
總線主控器IDE控制器3與中央處理單元1間的界面信號(hào)包括數(shù)據(jù)總線DATA、地址總線AD、輸出入裝置讀取IOR #、輸出入裝置寫入IOW #、總線要求HOLD、總線同意HLDA等信號(hào)。
總線主控器IDE控制器3與IDE界面5的界面信號(hào)則包括DMA要求DREQ、DMA認(rèn)知DACK、輸出入裝置讀取IOR #與輸出入裝置寫入IOW#等控制信號(hào)。該IDE界面5與硬盤磁性記錄裝置6構(gòu)成一IDE界面的硬盤裝置。此外,該IDE界面5的中斷請(qǐng)求信號(hào)IRQ(Interrupt Request)通過一中斷控制器4(Interrupt Controller)可對(duì)中央處理單元1發(fā)出請(qǐng)求中斷INTR的信號(hào)。
參照?qǐng)D2所示,在一典型的Pentinm級(jí)中央處理單元中,其內(nèi)部的寄存器依其功能約略可分為通用目的寄存器10(General Purpose Register)、段寄存器11(Segment Register)、狀態(tài)及指令寄存器12(Status and InstructionRegister)。其中該通用目的寄存器10包括有AX、BX、CX、DX、BP、SP、SI、DI等寄存器,一般是用來處理字節(jié)數(shù)據(jù)。段寄存器11包括有SS、DS、ES、FS、GS等寄存器,是用來決定存儲(chǔ)器地址段的基底地址。狀態(tài)及指令寄存器12包括有IP、FLAGS寄存器,是用來指定欲執(zhí)行指令、以及指示在執(zhí)行指令后的結(jié)果狀態(tài)。
此外,在Pentium級(jí)中央處理單元內(nèi)部尚包括有其它系統(tǒng)寄存器,這些系統(tǒng)寄存器中,與本發(fā)明的病毒檢測(cè)方法有關(guān)的寄存器包括有控制寄存器組13及除錯(cuò)寄存器組14。
控制寄存器組13中包括有數(shù)個(gè)控制寄存器CR0-CR4,其中控制寄存器CR4的位定義中,共有位0至位6,其中的位3乃為除錯(cuò)擴(kuò)展功能的設(shè)定位,當(dāng)該位設(shè)定為1時(shí),乃啟動(dòng)輸出入界面斷點(diǎn)除錯(cuò)擴(kuò)展功能,當(dāng)該位設(shè)定為0時(shí),乃解除輸出入界面斷點(diǎn)除錯(cuò)擴(kuò)展功能。
除錯(cuò)寄存器組14中包括有八個(gè)寄存器DR0-DR7,其中的DR0-DR3是作為除錯(cuò)地址寄存器(Debug Address Resister),每一個(gè)除錯(cuò)地址寄存器中含32位的斷點(diǎn)線性地址(Breakpoint Linear Address)。DR6是作為除錯(cuò)狀態(tài)寄存器(Debug Status Register),其可在除錯(cuò)狀況產(chǎn)生時(shí),告知該除錯(cuò)狀況的條件。DR7是作為一除錯(cuò)控制寄存器(Debug Control Register),其可用來致能或禁能斷點(diǎn)功能、以及可用來設(shè)定斷點(diǎn)條件。
每一個(gè)除錯(cuò)地址寄存器DR0-DR3皆有一些各自的控制位(在除錯(cuò)控制寄存器DR7中),例如在DR7中的LEN位值決定了斷點(diǎn)地址的存取長(zhǎng)度,當(dāng)LEN=00時(shí),其位長(zhǎng)度為一個(gè)位;LEN=01時(shí)其位長(zhǎng)度為二個(gè)位,LEN=11時(shí),其位長(zhǎng)度為四個(gè)位。R/W的值決定在斷點(diǎn)地址上發(fā)生斷點(diǎn)的原因,當(dāng)R/W=00時(shí)是表示指令碼存取,R/W=01時(shí)是表示數(shù)據(jù)寫入,當(dāng)R/W=10時(shí)是表示I/O讀取或?qū)懭?,?dāng)R/W=11時(shí)是表示數(shù)據(jù)讀取與寫入。
以下將同時(shí)參照?qǐng)D1所示的計(jì)算機(jī)系統(tǒng)簡(jiǎn)化示意圖、圖2所示的中央處理單元內(nèi)部寄存器組結(jié)構(gòu),對(duì)本發(fā)明的病毒檢測(cè)方法作一詳細(xì)說明如后。
如圖3所示,在系統(tǒng)啟始后,本發(fā)明首先在步驟100中,在計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器中指定一緩沖區(qū)。然后于步驟101中,在中央處理單元的控制寄存器CR4中設(shè)定除錯(cuò)擴(kuò)展位(Debug Extention)。此一步驟中的目的是將中央處理單元中的控制寄存器CR4的第三位設(shè)定為1,以啟始輸出入斷點(diǎn)除錯(cuò)擴(kuò)展功能。
然后在步驟102中,將中央處理單元的除錯(cuò)地址寄存器DR0-DR3中的其中兩個(gè)寄存器中設(shè)定十六進(jìn)位數(shù)值數(shù)據(jù)1F7h及177h,步驟102。其中該數(shù)值1F7h是表示計(jì)算機(jī)系統(tǒng)中所連接的第一個(gè)IDE硬盤狀態(tài)/命令寄存器(IDE Command Register)的地址,而數(shù)值177h乃為第二個(gè)硬盤狀態(tài)/命令寄存器的地址。
在步驟103中,在中央處理單元的除錯(cuò)控制寄存器DR7對(duì)應(yīng)的R/W位(讀取/寫入控制位)中設(shè)定數(shù)值10,其意味當(dāng)中央處理單元在執(zhí)行輸出入(I/O)時(shí),會(huì)執(zhí)行中斷功能(Break On I/O)。此外,在此一步驟中,也在該除錯(cuò)控制寄存器DR7對(duì)應(yīng)的LEN位(長(zhǎng)度位)中設(shè)定數(shù)值00(其數(shù)值是代表位長(zhǎng)度值是1位)。
在完成上述的相關(guān)寄存器數(shù)據(jù)設(shè)定之后,即判斷是否有除錯(cuò)狀況(DebugException)產(chǎn)生,步驟104,若否,則重復(fù)執(zhí)行檢測(cè),當(dāng)檢測(cè)到有除錯(cuò)狀況產(chǎn)生時(shí),則執(zhí)行步驟105,即中央處理單元執(zhí)行INT1中斷輔程序,以判斷中央處理單元中除錯(cuò)狀態(tài)寄存器DR6的狀態(tài),該除錯(cuò)狀態(tài)寄存器DR6可用來寄存除錯(cuò)地址寄存器DR0-DR3的狀態(tài)。在步驟105中,判斷中央處理單元的除錯(cuò)狀態(tài)寄存器DR6中的IO端地址1F7h及177h對(duì)應(yīng)的中斷點(diǎn)條件(Breakpoint Condition)是否被設(shè)定。若判斷結(jié)果為否,則步驟跳回步驟104,繼續(xù)檢測(cè)是否有除錯(cuò)狀況發(fā)生;若判斷結(jié)果為是,則進(jìn)行下一步驟106。
在步驟106中,判斷中央處理單元目前所執(zhí)行的指令是否為組合語言中執(zhí)行數(shù)據(jù)轉(zhuǎn)移的輸出指令OUT或OUTS。若不是,則回到步驟104,若是,則進(jìn)行下一步驟107。其中該輸出指令OUT在組合語言指令中乃為簡(jiǎn)單的輸出入界面指令,是執(zhí)行簡(jiǎn)單數(shù)據(jù)的轉(zhuǎn)移,其數(shù)據(jù)轉(zhuǎn)移的對(duì)象是一序列的輸出入端,其在作數(shù)據(jù)的轉(zhuǎn)移時(shí),是經(jīng)過中央處理單元中的通用目的寄存器(例如8位時(shí)乃為寄存器AL)來進(jìn)行數(shù)據(jù)的轉(zhuǎn)移。而輸出指令OUTS乃為字符串輸出入界面指令,該指令將由中央處理單元中的段寄存器DS與變址寄存器SI所指定的存儲(chǔ)器字節(jié)數(shù)據(jù)輸出到由寄存器DX所指定的輸出入界面端中。
在步驟107中,進(jìn)一步判斷中央處理單元中通用目的寄存器10中的寄存器AL或存儲(chǔ)器DS:SI地址的數(shù)據(jù)(輸出入端地址直接定址或寄存器間接定址)是否為CAh或CBh的數(shù)值。其中該數(shù)值CAh、CBh是表示以DMA的方式寫入數(shù)據(jù)至硬盤磁區(qū)的動(dòng)作。此一步驟的目的即是判斷該寫入數(shù)據(jù)至硬盤裝置的動(dòng)作是否為DMA傳輸模式。若并非這些預(yù)定值,則回到步驟104,若恰為該預(yù)定值,則進(jìn)行下一步驟108。
經(jīng)由前述步驟的判斷之后,若通用目的寄存器10中的寄存器AL或DS:SI地址的數(shù)據(jù)為CAh或CBh,則即在步驟108中設(shè)立一代表以DMA寫入硬盤磁區(qū)的特征位(WRITE_DMA Flag),其目的是作為后述程序的辨識(shí)之用。
參照?qǐng)D4所示,其是延續(xù)圖3中的控制流程。在步驟109中,判斷該IDE界面是否有中斷要求信號(hào)的產(chǎn)生,若判斷結(jié)果為否,則程序回到步驟104,若判斷結(jié)果為是,則在步驟110中,清除在前述步驟108中所設(shè)立的DMA寫入硬盤磁區(qū)的特征位(WRITE_DMAFlag)。
接下來,在步驟111中,讀取PCI總線上總線主控器IDE控制器中組態(tài)寄存器(Configuration Register)中所記錄的實(shí)體存儲(chǔ)區(qū)記錄表(Physical RegionDescriptor Table,簡(jiǎn)稱PRDT)的內(nèi)容。該P(yáng)RDT表格的數(shù)據(jù)格式,如圖5所示,其由一序列的實(shí)體存儲(chǔ)區(qū)記錄進(jìn)入點(diǎn)(Physical Region Descriptor Entries)所組成,每一個(gè)進(jìn)入點(diǎn)(Entry)記錄了所欲傳送至IDE裝置、或由IDE裝置傳送出數(shù)據(jù)區(qū)塊的基底地址(Base Address)及字節(jié)計(jì)數(shù)(Byte Count)。該P(yáng)RDT的表格結(jié)尾是在最后一個(gè)記錄進(jìn)入點(diǎn)中的EOT位作為辨識(shí)。
在步驟112中,取得該P(yáng)RDT中的DMA傳輸數(shù)據(jù)區(qū)塊的基底地址及字節(jié)計(jì)數(shù)值的數(shù)據(jù),然后在步驟113中,掃描并對(duì)比該DMA基底地址及字節(jié)計(jì)數(shù)值所定義的數(shù)據(jù)區(qū)塊與預(yù)存的已知病毒碼,若找到與該DMA傳輸?shù)臄?shù)據(jù)區(qū)塊相吻合的預(yù)存已知病毒碼,步驟114,則由計(jì)算機(jī)系統(tǒng)發(fā)出警示,步驟115,以適時(shí)警告使用者。若并未找到病毒,則回到步驟104中,繼續(xù)檢測(cè)是否有除錯(cuò)狀況的產(chǎn)生。
由以上本發(fā)明的計(jì)算機(jī)病毒檢測(cè)方法以及配合中央處理單元中相關(guān)的控制寄存器、除錯(cuò)地址寄存器、除錯(cuò)控制寄存器、除錯(cuò)狀態(tài)寄存器等,使本發(fā)明可以有效檢測(cè)到任何以DMA方式企圖寫入至計(jì)算機(jī)系統(tǒng)中IDE硬盤裝置的可能病毒,并適時(shí)發(fā)出警示。
總之本發(fā)明所提供的計(jì)算機(jī)病毒檢測(cè)方法,具有高度的產(chǎn)業(yè)利用價(jià)值,可達(dá)到預(yù)期的功效。
權(quán)利要求
1.一種IDE硬盤裝置設(shè)定在DMA傳輸模式下的病毒檢測(cè)方法,用于檢測(cè)以DMA方式寫入至一計(jì)算機(jī)系統(tǒng)中IDE硬盤裝置的可能病毒,該計(jì)算機(jī)系統(tǒng)中的中央處理單元內(nèi)部配置有控制寄存器、除錯(cuò)地址寄存器、除錯(cuò)控制寄存器、以及除錯(cuò)狀態(tài)寄存器,該病毒檢測(cè)方法包括下列步驟a.在該計(jì)算機(jī)系統(tǒng)的存儲(chǔ)器中指定一緩沖區(qū);b.啟始該中央處理單元的輸出入斷點(diǎn)除錯(cuò)擴(kuò)展功能;c.在中央處理單元的除錯(cuò)地址寄存器中的其中兩個(gè)寄存器中設(shè)定計(jì)算機(jī)系統(tǒng)中所連接的IDE硬盤狀態(tài)/命令寄存器的地址;d.設(shè)定該中央處理單元在執(zhí)行輸出入的動(dòng)作時(shí)產(chǎn)生中斷功能;e.判斷是否發(fā)生除錯(cuò)狀況;f.判斷中央處理單元的除錯(cuò)狀態(tài)寄存器中,對(duì)應(yīng)于該IDE硬盤裝置的硬盤狀態(tài)/命令寄存器的地址的斷點(diǎn)條件是否被設(shè)定,若否則回到步驟e;g.判斷中央處理單元目前所執(zhí)行的指令是否為執(zhí)行數(shù)據(jù)轉(zhuǎn)移的輸出指令,若否則回到步驟e;h.判斷該寫入數(shù)據(jù)至硬盤裝置的動(dòng)作是否為DMA傳輸模式,若否則回到步驟e;i.判斷IDE控制器是否發(fā)出硬件中斷要求的信號(hào),若否,則回到步驟e;j.讀取IDE控制器中的組態(tài)寄存器的PRDT表的值;k.取得該P(yáng)RDT中的DMA基底地址及字節(jié)計(jì)數(shù)值;l.掃描并對(duì)比該DMA基底地址及字節(jié)計(jì)數(shù)值所定義的數(shù)據(jù)區(qū)塊與預(yù)存的已知病毒碼,并在找到相吻合的已知病毒碼時(shí)發(fā)出警示。
2.如權(quán)利要求1所述的病毒檢測(cè)方法,其中步驟b是將中央處理單元中的控制寄存器CR4的第三位設(shè)定為1,以啟始輸出入斷點(diǎn)除錯(cuò)擴(kuò)展功能。
3.如權(quán)利要求1所述的病毒檢測(cè)方法,其中步驟c是在中央處理單元的除錯(cuò)地址寄存器中的其中兩個(gè)寄存器中設(shè)定十六進(jìn)位數(shù)值數(shù)據(jù)1F7h及177h,其中該數(shù)值1F7h是表示計(jì)算機(jī)系統(tǒng)中所連接的第一個(gè)IDE硬盤狀態(tài)/命令寄存器的地址,而數(shù)值177h乃為第二個(gè)硬盤狀態(tài)/命令寄存器的地址。
4.如權(quán)利要求1所述的病毒檢測(cè)方法,其中步驟d包括有d1.在中央處理單元的除錯(cuò)控制寄存器對(duì)應(yīng)的讀取/寫入控制位中設(shè)定數(shù)值10,以啟始該中央處理單元在執(zhí)行輸出入時(shí)產(chǎn)生中斷功能;d2.在該除錯(cuò)控制寄存器對(duì)應(yīng)的長(zhǎng)度設(shè)定位中設(shè)定數(shù)值00,其數(shù)值是代表位長(zhǎng)度值是1位。
5.如權(quán)利要求1所述的病毒檢測(cè)方法,其中步驟g中的數(shù)據(jù)轉(zhuǎn)移輸出指令為OUT/OUTS。
6.如權(quán)利要求1所述的IDE硬盤裝置設(shè)定在DMA傳輸模式下的病毒檢測(cè)方法,其中步驟h是判斷該中央處理單元中的通用目的寄存器AL或存儲(chǔ)器DS:SI地址的數(shù)據(jù)是否為CAh或CBh。
7.如權(quán)利要求1所述的病毒檢測(cè)方法,其中在步驟h中,若判斷出該寫入數(shù)據(jù)至硬盤裝置的動(dòng)作是為DMA傳輸模式時(shí),則該步驟還包括有設(shè)立一代表以DMA寫入數(shù)據(jù)至硬盤磁區(qū)的特征位;而在步驟i中,若判斷該IDE界面有發(fā)出硬件中斷要求信號(hào)后,則還包括清除該特征位的步驟。
8.如權(quán)利要求1所述的病毒檢測(cè)方法,其中步驟j中的PRDT表的數(shù)據(jù)格式系由一序列的實(shí)體存儲(chǔ)區(qū)記錄進(jìn)入點(diǎn)所組成,每一個(gè)進(jìn)入點(diǎn)記錄了所欲傳送至IDE硬盤的基底地址及字節(jié)數(shù)目。
全文摘要
一種IDE硬盤裝置設(shè)定在DMA傳輸模式下的病毒檢測(cè)方法,測(cè)出中央處理單元發(fā)出的除錯(cuò)狀況時(shí),判斷除錯(cuò)狀態(tài)寄存器中對(duì)應(yīng)IDE硬盤命令寄存器中斷點(diǎn)是否設(shè)定。若是,判斷目前執(zhí)行指令是否為數(shù)據(jù)轉(zhuǎn)移輸出指令、判斷是否以DMA方式寫入數(shù)據(jù)至硬盤裝置,判斷IDE控制器是否發(fā)出硬體中斷要求信號(hào),若是讀取IDE控制器中組態(tài)寄存器PRDT值,取得DMA基底地址及字節(jié)計(jì)數(shù)值。掃描并對(duì)比DMA基底地址及字節(jié)計(jì)數(shù)值定義的數(shù)據(jù)區(qū)塊與預(yù)存的已知病毒碼,相吻合時(shí)發(fā)出警示。
文檔編號(hào)G06F11/28GK1306251SQ0010106
公開日2001年8月1日 申請(qǐng)日期2000年1月14日 優(yōu)先權(quán)日2000年1月14日
發(fā)明者蔡俊男 申請(qǐng)人:神達(dá)電腦股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
平远县| 米林县| 大邑县| 天水市| 罗城| 丹巴县| 洮南市| 同德县| 无锡市| 南丰县| 浮梁县| 通化县| 望江县| 漳州市| 白沙| 海阳市| 余姚市| 五峰| 常山县| 琼中| 界首市| 江西省| 顺昌县| 莱州市| 台江县| 东宁县| 濉溪县| 邛崃市| 宁夏| 甘洛县| 定襄县| 曲阳县| 聂拉木县| 宜君县| 丘北县| 集贤县| 中超| 大足县| 武城县| 田林县| 天镇县|