本發(fā)明涉及病毒查殺領域,具體而言,涉及一種病毒的查殺方法和裝置。
背景技術:
:掃描病毒的過程一般分為本地查殺和云查殺,傳統(tǒng)的病毒掃描方法是先做一次本地掃描然后再做云端掃描。以Android平臺為例,本地掃描過程首先需要解析apk文件的詳細信息(這些信息包括軟件的包名、證書、文件大小、包含哪些資源文件、代碼中包含的常量字符串等)以提取特征,然后在特征匹配過程中還要進行復雜的計算。因此本地掃描需要消耗大量的CPU(Centralprocessingunit,中央處理器)資源且掃描速度也很慢。針對上述的問題,目前尚未提出有效的解決方案。技術實現(xiàn)要素:本發(fā)明實施例提供了一種病毒的查殺方法和裝置,以至少解決進行病毒查殺時CPU的資源消耗比較大的技術問題。根據(jù)本發(fā)明實施例的一個方面,提供了一種病毒的查殺方法,包括:將待查殺信息發(fā)送給服務器,其中,所述待查殺信息用于指示所述服務器對與所述待查殺信息關聯(lián)的待查殺文件進行云端病毒查殺;接收所述服務器發(fā)送的第一查殺結果,其中,所述第一查殺結果包括查殺信息和第一指示信息,所述查殺信息為對所述待查殺文件中的第一信息進行所述云端病毒查殺的結果,所述第一指示信息用于指示客戶端對所述待查殺文件中未進行所述云端病毒查殺的第二信息進行本地病毒查殺;對所述第一指示信息指示的所述第二信息進行本地病毒查殺。根據(jù)本發(fā)明實施例的另一方面,還提供了一種病毒的查殺裝置,包括:第一發(fā)送單元,用于將待查殺信息發(fā)送給服務器,其中,所述待查殺信息用于指示所述服務器對與所述待查殺信息關聯(lián)的待查殺文件進行云端病毒查殺;接收單元,用于接收所述服務器發(fā)送的第一查殺結果,其中,所述第一查殺結果包括查殺信息和第一指示信息,所述查殺信息為對所述待查殺文件中的第一信息進行所述云端病毒查殺的結果,所述第一指示信息用于指示客戶端對所述待查殺文件中未進行所述云端病毒查殺的第二信息進行本地病毒查殺;查殺單元,用于對所述第一指示信息指示的所述第二信息進行本地病毒查殺。在本發(fā)明實施例中,先通過服務器進行云端查殺,再通過終端進行本地查殺,可以先利用服務器過濾掉一部分不需要終端查殺的待查殺文件,可以減少本地查殺的待查殺文件,也就減少了本地查殺時對終端CPU資源的消耗。同時,云端無法查殺的待查殺文件也可以在終端執(zhí)行本地查殺,避免了對有些無法在云端查殺的待查殺文件的漏查情況下,保證了查殺的準確性。附圖說明此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:圖1是根據(jù)本發(fā)明實施例的硬件環(huán)境的架構圖;圖2是根據(jù)本發(fā)明實施例的病毒的查殺方法的流程圖;圖3是根據(jù)現(xiàn)有技術的病毒的查殺方法的流程圖;圖4是根據(jù)本發(fā)明實施例的另一種病毒的查殺方法的流程圖;圖5是根據(jù)本發(fā)明實施例的病毒的查殺裝置的示意圖;圖6是根據(jù)本發(fā)明實施例的終端的架構圖。具體實施方式為了使本
技術領域:
的人員更好地理解本發(fā)明方案,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。需要說明的是,本發(fā)明的說明書和權利要求書及上述附圖中的術語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應該理解這樣使用的數(shù)據(jù)在適當情況下可以互換,以便這里描述的本發(fā)明的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設備固有的其它步驟或單元。名詞解釋:病毒查殺客戶端:安全管理類客戶端,集殺毒、安全防護、體檢加速、健康優(yōu)化以及軟件管理于一體,為用戶提供360°的安全防護的安全類手機軟件。需要說明的是,本實施例中所提到的終端都可以理解為終端上安裝的病毒查殺客戶端。病毒庫:用于描述一些病毒的特征的文件,對任意apk提取特征并與病毒庫中的特征比對,如果能匹配上則認為該apk是惡意軟件(也稱為病毒)。病毒掃描:病毒查殺客戶端的一個功能模塊,主要用于發(fā)現(xiàn)惡意軟件并提醒用戶從而使用戶免受其害。掃描病毒的過程一般分為本地查殺和云查殺。本地查殺即解析apk文件的詳細信息(這些信息包括軟件的包名、證書、文件大小、包含哪些資源文件、代碼中包含的常量字符串等)以提 取特征并和病毒庫中的特征進行匹配,判斷此apk是否為病毒軟件。實施例1根據(jù)本發(fā)明實施例,提供了一種可以通過本申請裝置實施例執(zhí)行的方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。根據(jù)本發(fā)明實施例,提供了一種病毒的查殺方法??蛇x地,在本實施例中,上述病毒的查殺方法可以應用于如圖1所示的終端102和服務器104所構成的硬件環(huán)境中。如圖1所示,終端102通過網(wǎng)絡與服務器104進行連接,上述網(wǎng)絡包括但不限于:移動通信網(wǎng)絡、廣域網(wǎng)、城域網(wǎng)或局域網(wǎng),終端102可以是手機終端,也可以是PC終端、筆記本終端或平板電腦終端。圖1中示出的硬件環(huán)境系統(tǒng)的主要工作原理是:終端102先將需要掃描的應用程序的待查殺信息發(fā)送給服務器104,以便服務器104根據(jù)這些待查殺信息查找相應的待查殺文件進行云端查殺。若云端查殺對所有待查殺信息對應的待查殺文件都完成了查殺,確定出哪些待查殺文件有病毒,哪些待查殺文件沒有病毒,則完成云端查殺,也完成了對終端102的查殺,不需要再進行終端102的本地查殺,節(jié)約了終端102的CPU資源。如果云端查殺無法對某些待查殺信息對應的待查殺文件進行查殺,則提示終端102對這些沒有進行查殺的待查殺信息進行本地查殺。這種先通過服務器進行云端查殺,再通過終端進行本地查殺的方式,可以先利用服務器過濾掉一部分不需要終端查殺的待查殺文件,可以減少本地查殺的待查殺文件,也就減少了本地查殺時對終端CPU資源的消耗。同時,云端無法查殺的待查殺文件也可以在終端執(zhí)行本地查殺,避免了對 有些無法在云端查殺的待查殺文件的漏查情況下,保證了查殺的準確性。在有些情況下,云端查殺能夠?qū)λ写闅⑽募M行查殺,就不需要再進行本地查殺了,也就進一步避免了本地查殺對終端CPU的消耗。圖2是根據(jù)本發(fā)明實施例的病毒的查殺方法的流程圖,以下結合圖2對本發(fā)明實施例所提供的病毒的查殺方法做具體介紹,如圖2所示,該病毒的查殺方法主要包括如下步驟:步驟S202,將待查殺信息發(fā)送給服務器,其中,待查殺信息用于指示服務器對與待查殺信息關聯(lián)的待查殺文件進行云端病毒查殺。步驟S204,接收服務器發(fā)送的第一查殺結果,其中,第一查殺結果包括查殺信息和第一指示信息,查殺信息為對待查殺文件中的第一信息進行云端病毒查殺的結果,第一指示信息用于指示客戶端對待查殺文件中未進行云端病毒查殺的第二信息進行本地病毒查殺。步驟S206,對第一指示信息指示的第二信息進行本地病毒查殺。待查殺信息是能夠指示待查殺文件(如apk)的信息,并不是待查殺文件本身,是能夠讓服務器根據(jù)這些待查殺信息找到待查殺文件的信息。這些待查殺文件不是終端上傳的文件,可以是已經(jīng)存儲在網(wǎng)絡中的待查殺文件。服務器根據(jù)待查殺信息找到待查殺文件,并對找到的待查殺文件進行查殺,確定出哪些待查殺文件有病毒,哪些待查殺文件沒有病毒,哪些待查殺文件無法確定出是否有病毒。通常無法確定是否有病毒的待查殺文件是服務器無法獲取待查殺文件,因此,無法確定出該待查殺文件是否有病毒。服務器將進行云端查殺得到的第一查殺結果發(fā)送給終端,第一查殺結果包括了已經(jīng)完成查殺的待查殺文件的查殺信息,以及用于指示無法進行查殺的待查殺文件的第一指示信息。終端中的病毒查殺客戶端對第一指示信息所指示的待查殺文件(第二信息)進行本地病毒查殺。在一些例子中,上述的待查殺信息可以是終端上安裝的應用程序數(shù)據(jù) 包的包名、證書和文件大小等信息,主要是為了讓服務器根據(jù)這些信息找到網(wǎng)絡中已經(jīng)存在的應用程序數(shù)據(jù)包,而不需要終端上傳這些應用程序數(shù)據(jù)包,節(jié)約了終端的網(wǎng)絡傳輸資源。上述的待查殺文件可以存儲在網(wǎng)絡中的應用程序數(shù)據(jù)包。待查殺信息“A1”指示應用程序1,則服務器根據(jù)待查殺信息“A1”查找到相應的“應用程序1”。在一些具體的例子中,向服務器發(fā)送的待查殺信息如下表1所示。表1待查殺文件包名證書文件大小應用程序1A1ZCA1100K應用程序2A2ZCA215M應用程序3B1ZCB135M應用程序4C1ZCC1200K待查殺信息可以是待查殺文件的屬性信息,解析待查殺文件的屬性信息,其中,屬性信息用于指示服務器根據(jù)屬性信息查待查殺文件,屬性信息至少包括數(shù)據(jù)包的包名、數(shù)據(jù)包的證書和數(shù)據(jù)包的文件大?。粚⒔馕龅玫降膶傩孕畔⒆鳛榇闅⑿畔l(fā)送給服務器。需要說明的是,上述證書包括應用程序的版本號、序列號、簽名算法、頒發(fā)者、有效期和使用者等信息。屬性信息包括但不限于上述表1所體現(xiàn)的內(nèi)容。解析待查殺文件的屬性信息需要消耗CPU資源要小于本地查殺時所需要CPU資源,因此通過云端查殺可以節(jié)約CPU資源。服務器根據(jù)表1中的待查殺信息至少其中之一查找相應的待查殺文件,也就是服務器查找待查殺文件應用程序1、應用程序2、應用程序3和應用程序4,并對這些待查殺文件進行云端查殺,得到的第一查殺結果如表2所示。表2如表2所示,應用程序1和應用程序2分別對應病毒和非病毒,而應用程序3和應用程序4的待查殺文件沒有找到,也就是沒有對應用程序3和應用程序4進行云端查殺。第一查殺結果包括兩部分內(nèi)容,其中一部分是類似表2中應用程序1和應用程序2這種確定的查殺信息,另外一部分是類似表2中應用程序3和應用程序4這種未查找到文件的結果,即第一指示信息。服務器沒有查找到應用程序3和應用程序4的數(shù)據(jù)包,也就無法對應用程序3和應用程序4進行云端病毒查殺。因此,指示終端對應用程序3和應用程序4進行本地病毒查殺。終端上的病毒查殺客戶端根據(jù)第一指示信息對應用程序3和應用程序4進行本地病毒查殺??蛇x地,對第一指示信息指示的第二信息進行本地病毒查殺包括:對待查殺文件進行解析,得到待查殺文件的包特征,其中,包特征至少包括待查殺文件的包名、待查殺文件的證書、待查殺文件的文件大小、待查殺文件所包括的資源文件以及待查殺文件的常量字符串;將包特征與客戶端的本地病毒庫中的病毒特征進行匹配;將匹配得到的包特征所對應的待查殺文件作為病毒文件。在進行本地病毒查殺時,會解析應用程序3和應用程序4的數(shù)據(jù)包,從中解析出包名、證書、文件大小,以及數(shù)據(jù)包中的資源文件和常量字符串等信息,并將這些數(shù)據(jù)包的特征信息與病毒庫中的病毒特征進行匹配,若某些特征信息與病毒特征相匹配,則確定這些特征信息所在的數(shù)據(jù)包包括病毒。終端在解析數(shù)據(jù)包以及進行病毒特征比對時會消耗大量的CPU資源,而通過云端查殺可以過濾掉一部分不需要本地查殺的待查殺文件,減少了終端解析數(shù)據(jù)包以及進行病毒特征比對的CPU消耗,解決了現(xiàn)有技術中進行病毒查殺時終端的CPU資源消耗比較大的技術問題,同時,由于采用了云端查殺和本地查殺結合的方式進行病毒查殺,提高了病毒查殺的速度。本地病毒查殺可能會造成部分非病毒文件被誤判為病毒文件,可以采用兩種方式來避免誤判。一種是在完成本地病毒查殺后再進行服務器的誤判檢測,另外一種是服務器在完成云端病毒查殺后,將可能被誤判的文件的誤判指示信息發(fā)送給終端,以便終端可以根據(jù)服務器發(fā)送的誤判指示信息進行誤判檢查。第一種,在完成本地病毒查殺后,將查殺結果發(fā)送給服務器進行誤判檢驗。在對第一指示信息指示的第二信息進行本地病毒查殺之后,方法還包括:獲取對第二信息進行本地病毒查殺之后得到的第二查殺結果,其中,第二查殺結果用于指示經(jīng)過本地病毒查殺后被判定為病毒的待查殺文件;向服務器發(fā)送第三信息,其中,第三信息用于指示服務器對第二查殺結果中被判定為病毒的待查殺文件進行誤判檢查,誤判檢查用于判斷被判定為病毒的待查殺文件是否為非病毒文件。第二查殺結果中包括被判定為病毒文件的待查殺文件,向服務器發(fā)送第三信息也可以不是待查殺文件的數(shù)據(jù)包,而是只是待查殺文件的數(shù)據(jù)包的標識,比如上述表1中待查殺信息。與服務器進行云端查殺不同,服務 器在接收到本地查殺后的第三信息后,判斷服務器中是否記錄有某個第三信息所對應的待查殺文件的數(shù)據(jù)包為非病毒文件。如果有,則認為該文件被終端誤判為病毒文件,需要通知終端中的客戶端該文件被誤判為病毒。在一些具體的例子中,上述表2中的應用程序2經(jīng)過本地病毒查殺后被認定為病毒文件,則終端將應用程序2的信息發(fā)送給服務器,服務器查看是否有該應用程序2被誤判的記錄,若有,則通知客戶端該應用程序2被誤判為病毒文件,應該為非病毒文件??蛻舳藢贸绦?的查殺結果更改為非病毒。第二種,根據(jù)服務器發(fā)送的誤判指示信息進行誤判檢查。在對第一指示信息指示的第二信息進行本地病毒查殺之后,方法還包括:獲取對第二信息進行本地病毒查殺之后得到的第二查殺結果,其中,第二查殺結果用于指示經(jīng)過本地病毒查殺后被判定為病毒的待查殺文件;解析第一查殺結果中的第二指示信息,其中,第二指示信息用于指示一個或者多個目標文件為非病毒文件;在被判定為病毒的待查殺文件包括目標文件時,將被判定為病毒的待查殺文件中與目標文件相同的文件修改為非病毒??蛻舳私邮盏降谝徊闅⒔Y果的同時也能從第一查殺結果中解析出第二指示信息,第二指示信息用于指示一個或者多個目標文件為非病毒文件,這些目標文件容易被誤判為病毒文件。這些目標文件可以是上述待查殺文件,也可以不是上述待查殺文件??蛻舳烁鶕?jù)比對被判斷為病毒的文件是否第二指示信息所指示的目標文件的其中之一,如果是,則確定該被判斷為病毒的文件是被誤判的文件,并將該被判斷為病毒的文件修改為非病毒。在一些具體的例子中,如表2所示被判斷為病毒的文件為應用程序2。第二指示信息指示的目標文件包括應用程序,則確定該應用程序2為被誤判的文件,將應用程序2的查殺結果修改為非病毒。在本實施例中,通過誤判檢查來避免本地查殺所導致的誤判的問題, 使得查殺的結果更加準確。以下結合圖3和圖4對本實施例進行說明。圖3是根據(jù)現(xiàn)有技術的病毒的查殺方法的流程圖。圖4是根據(jù)本發(fā)明實施例的另一種病毒的查殺方法的流程圖。如圖3所示,現(xiàn)有技術先執(zhí)行本地查殺(步驟S301至步驟S303),再執(zhí)行云端查殺(步驟S304至步驟S306)。步驟S301,解析本地病毒庫得到所有病毒的特征。步驟S302,本地提取待檢測apk的特征。即提取待檢測文件的包名、證書、文件大小包括的資源文件以及常量字符串等特征。步驟S303,特征匹配。即對apk的特征和病毒庫中的病毒特征進行匹配。步驟S304,提取云查信息。需要進行云端查殺的特征,包括包名、證書、文件大小等特征。步驟S305,聯(lián)網(wǎng)云查。對需要進行云端查殺的apk進行云端查殺。步驟S306,校正本地掃描結果。如果本地查殺有誤報,則校正誤報結果。如圖4所示,本實施例先執(zhí)行云端查殺(步驟S401至步驟S403),再執(zhí)行本地查殺(步驟S404至步驟S406),本地查殺的占比不到5%,95%通過云端查殺,然后再執(zhí)行誤判檢測(步驟S407至步驟S408)。步驟S401,本地提取云查信息。需要進行云端查殺的特征,包括包名、證書、文件大小等特征。步驟S402,云端查殺。步驟S403,判斷是否有云查未知的結果。判斷是否有未找到的apk,并且無法進行云端查殺的云查信息。如果有,則執(zhí)行步驟S404,否則, 結束。步驟S404,解析本地病毒庫得到所有病毒的特征。步驟S405,本地提取待檢測apk的特征。即提取待檢測文件的包名、證書、文件大小包括的資源文件以及常量字符串等特征。步驟S406,特征匹配。對本地病毒庫和apk特征進行匹配,查殺病毒文件。步驟S407,判斷是否有風險。判斷是否有病毒文件,如果有,則對病毒文件執(zhí)行步驟S408,否則,結束。步驟S408,對風險結果做云查。對確定為病毒的文件進行云端誤報檢驗,如果有被誤報的病毒文件,則提示將被誤報的病毒文件的查殺結果修改為非病毒文件。可見,本實施例先執(zhí)行的云端查殺后執(zhí)行本地查殺的流程可以減少本地查殺的CPU的消耗,并且完成本地查殺后的誤判檢測可以保證查殺的準確性。需要說明的是,對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到根據(jù)上述實施例的方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所 述的方法。實施例2根據(jù)本發(fā)明實施例,還提供了一種用于實施上述病毒的查殺方法的病毒的查殺裝置,該病毒的查殺裝置主要用于執(zhí)行本發(fā)明實施例上述內(nèi)容所提供的病毒的查殺方法,以下對本發(fā)明實施例所提供的病毒的查殺裝置做具體介紹:圖5是根據(jù)本發(fā)明實施例的病毒的查殺裝置的示意圖,如圖5所示,該病毒的查殺裝置主要包括:第一發(fā)送單元10、接收單元20和查殺單元30。第一發(fā)送單元10用于將待查殺信息發(fā)送給服務器,其中,待查殺信息用于指示服務器對與待查殺信息關聯(lián)的待查殺文件進行云端病毒查殺。接收單元20用于接收服務器發(fā)送的第一查殺結果,其中,第一查殺結果包括查殺信息和第一指示信息,查殺信息為對待查殺文件中的第一信息進行云端病毒查殺的結果,第一指示信息用于指示客戶端對待查殺文件中未進行云端病毒查殺的第二信息進行本地病毒查殺。查殺單元30用于對第一指示信息指示的第二信息進行本地病毒查殺。待查殺信息是能夠指示待查殺文件(如apk)的信息,并不是待查殺文件本身,是能夠讓服務器根據(jù)這些待查殺信息找到待查殺文件的信息。這些待查殺文件不是終端上傳的文件,可以是已經(jīng)存儲在網(wǎng)絡中的待查殺文件。服務器根據(jù)待查殺信息找到待查殺文件,并對找到的待查殺文件進行查殺,確定出哪些待查殺文件有病毒,哪些待查殺文件沒有病毒,哪些待查殺文件無法確定出是否有病毒。通常無法確定是否有病毒的待查殺文件是服務器無法獲取待查殺文件,因此,無法確定出該待查殺文件是否有病毒。服務器將進行云端查殺得到的第一查殺結果發(fā)送給終端,第一查殺結果包括了已經(jīng)完成查殺的待查殺文件的查殺信息,以及用于指示無法進行 查殺的待查殺文件的第一指示信息。終端中的病毒查殺客戶端對第一指示信息所指示的待查殺文件(第二信息)進行本地病毒查殺。在一些例子中,上述的待查殺信息可以是終端上安裝的應用程序數(shù)據(jù)包的包名、證書和文件大小等信息,主要是為了讓服務器根據(jù)這些信息找到網(wǎng)絡中已經(jīng)存在的應用程序數(shù)據(jù)包,而不需要終端上傳這些應用程序數(shù)據(jù)包,節(jié)約了終端的網(wǎng)絡傳輸資源。上述的待查殺文件可以存儲在網(wǎng)絡中的應用程序數(shù)據(jù)包。待查殺信息“A1”指示應用程序1,則服務器根據(jù)待查殺信息“A1”查找到相應的“應用程序1”。待查殺信息可以是待查殺文件的屬性信息,第一發(fā)送單元包括的第一解析模塊,用于解析待查殺文件的屬性信息,其中,屬性信息用于指示服務器根據(jù)屬性信息查待查殺文件,屬性信息至少包括數(shù)據(jù)包的包名、數(shù)據(jù)包的證書和數(shù)據(jù)包的文件大??;第一發(fā)送單元包括的發(fā)送模塊,用于將解析得到的屬性信息作為待查殺信息發(fā)送給服務器。需要說明的是,上述證書包括應用程序的版本號、序列號、簽名算法、頒發(fā)者、有效期和使用者等信息。屬性信息包括但不限于上述表1所體現(xiàn)的內(nèi)容。解析待查殺文件的屬性信息需要消耗CPU資源要小于本地查殺時所需要CPU資源,因此通過云端查殺可以節(jié)約CPU資源。可選地,查殺單元包括:第二解析模塊,用于對待查殺文件進行解析,得到待查殺文件的包特征,其中,包特征至少包括待查殺文件的包名、待查殺文件的證書、待查殺文件的文件大小、待查殺文件所包括的資源文件以及待查殺文件的常量字符串;匹配模塊,用于將包特征與客戶端的本地病毒庫中的病毒特征進行匹配;確定模塊,用于將匹配得到的包特征所對應的待查殺文件作為病毒文件。在進行本地病毒查殺時,會解析應用程序3和應用程序4的數(shù)據(jù)包,從中解析出包名、證書、文件大小,以及數(shù)據(jù)包中的資源文件和常量字符 串等信息,并將這些數(shù)據(jù)包的特征信息與病毒庫中的病毒特征進行匹配,若某些特征信息與病毒特征相匹配,則確定這些特征信息所在的數(shù)據(jù)包包括病毒。終端在解析數(shù)據(jù)包以及進行病毒特征比對時會消耗大量的CPU資源,而通過云端查殺可以過濾掉一部分不需要本地查殺的待查殺文件,減少了終端解析數(shù)據(jù)包以及進行病毒特征比對的CPU消耗,解決了現(xiàn)有技術中進行病毒查殺時終端的CPU資源消耗比較大的技術問題,同時,由于采用了云端查殺和本地查殺結合的方式進行病毒查殺,提高了病毒查殺的速度。本地病毒查殺可能會造成部分非病毒文件被誤判為病毒文件,可以采用兩種方式來避免誤判。一種是在完成本地病毒查殺后再進行服務器的誤判檢測,另外一種是服務器在完成云端病毒查殺后,將可能被誤判的文件的誤判指示信息發(fā)送給終端,以便終端可以根據(jù)服務器發(fā)送的誤判指示信息進行誤判檢查。本地病毒查殺可能會造成部分非病毒文件被誤判為病毒文件,可以采用兩種方式來避免誤判。一種是在完成本地病毒查殺后再進行服務器的誤判檢測,另外一種是服務器在完成云端病毒查殺后,將可能被誤判的文件的誤判指示信息發(fā)送給終端,以便終端可以根據(jù)服務器發(fā)送的誤判指示信息進行誤判檢查。第一種,在完成本地病毒查殺后,將查殺結果發(fā)送給服務器進行誤判檢驗。通過以下單元進行誤判檢驗:第一獲取單元,用于在對第一指示信息指示的第二信息進行本地病毒查殺之后,獲取對第二信息進行本地病毒查殺之后得到的第二查殺結果,其中,第二查殺結果用于指示經(jīng)過本地病毒查殺后被判定為病毒的待查殺文件;第二發(fā)送單元,用于向服務器發(fā)送第三信息,其中,第三信息用于指示服務器對第二查殺結果中被判定為病毒的待查殺文件進行誤判檢查,誤判檢查用于判斷被判定為病毒的待查殺文件是否為非病毒文件。第二查殺結果中包括被判定為病毒文件的待查殺文件,向服務器發(fā)送第三信息也可以不是待查殺文件的數(shù)據(jù)包,而是只是待查殺文件的數(shù)據(jù)包的標識,比如上述表1中待查殺信息。與服務器進行云端查殺不同,服務器在接收到本地查殺后的第三信息后,判斷服務器中是否記錄有某個第三信息所對應的待查殺文件的數(shù)據(jù)包為非病毒文件。如果有,則認為該文件被終端誤判為病毒文件,需要通知終端中的客戶端該文件被誤判為病毒。在一些具體的例子中,上述表2中的應用程序2經(jīng)過本地病毒查殺后被認定為病毒文件,則終端將應用程序2的信息發(fā)送給服務器,服務器查看是否有該應用程序2被誤判的記錄,若有,則通知客戶端該應用程序2被誤判為病毒文件,應該為非病毒文件??蛻舳藢贸绦?的查殺結果更改為非病毒。第二種,根據(jù)服務器發(fā)送的誤判指示信息進行誤判檢查。通過以下單元進行誤判檢驗:第二獲取單元,用于在對第一指示信息指示的第二信息進行本地病毒查殺之后,獲取對第二信息進行本地病毒查殺之后得到的第二查殺結果,其中,第二查殺結果用于指示經(jīng)過本地病毒查殺后被判定為病毒的待查殺文件;解析單元,用于解析第一查殺結果中的第二指示信息,其中,第二指示信息用于指示一個或者多個目標文件為非病毒文件;修改單元,用于在被判定為病毒的待查殺文件包括目標文件時,將被判定為病毒的待查殺文件中與目標文件相同的文件修改為非病毒??蛻舳私邮盏降谝徊闅⒔Y果的同時也能從第一查殺結果中解析出第二指示信息,第二指示信息用于指示一個或者多個目標文件為非病毒文件,這些目標文件容易被誤判為病毒文件。這些目標文件可以是上述待查殺文件,也可以不是上述待查殺文件??蛻舳烁鶕?jù)比對被判斷為病毒的文件是否第二指示信息所指示的目標文件的其中之一,如果是,則確定該被判斷為病毒的文件是被誤判的文件,并將該被判斷為病毒的文件修改為非病毒。在一些具體的例子中,如表2所示被判斷為病毒的文件為應用程序2。第二指示信息指示的目標文件包括應用程序,則確定該應用程序2為被誤 判的文件,將應用程序2的查殺結果修改為非病毒。在本實施例中,通過誤判檢查來避免本地查殺所導致的誤判的問題,使得查殺的結果更加準確。實施例3根據(jù)本發(fā)明實施例,還提供了一種用于實施上述病毒的查殺方法的終端,如圖6所示,該終端主要包括處理器601、攝像頭602、顯示器603、數(shù)據(jù)接口604、存儲器605和網(wǎng)絡接口606,其中:攝像頭602主要用于采集用戶信息。數(shù)據(jù)接口604則主要通過數(shù)據(jù)傳輸?shù)姆绞綄⒌谌焦ぞ攉@取到的病毒特征給處理器601。存儲器605主要用于存儲病毒庫文件和待查殺文件。網(wǎng)絡接口606主要用于與服務器進行網(wǎng)絡通信,向服務器發(fā)送待查殺信息進行云端查殺。顯示器603主要用于顯示查殺結果。處理器601主要用于執(zhí)行如下操作:獲取待識別車輛的尾燈的初始圖像;對初始圖像進行灰度處理,得到中間圖像;從中間圖像中提取尾燈的輪廓,作為待識別輪廓;從預設數(shù)據(jù)庫中查找與待識別輪廓相匹配的尾燈輪廓,作為目標輪廓,其中,預設數(shù)據(jù)庫中存儲有不同的尾燈輪廓;以及從預設數(shù)據(jù)庫中獲取與目標輪廓對應的車輛信息,作為待識別車輛的信息,其中,預設數(shù)據(jù)庫中還存儲有與不同的尾燈輪廓對應的車輛信息。處理器601還用于將待查殺信息發(fā)送給服務器,其中,所述待查殺信息用于指示所述服務器對與所述待查殺信息關聯(lián)的待查殺文件進行云端病毒查殺;接收所述服務器發(fā)送的第一查殺結果,其中,所述第一查殺結果包括查殺信息和第一指示信息,所述查殺信息為對所述待查殺文件中的第一信息進行所述云端病毒查殺的結果,所述第一指示信息用于指示客戶端對所述待查殺文件中未進行所述云端病毒查殺的第二信息進行本地病毒查殺;對所述第一指示信息指示的所述第二信息進行本地病毒查殺。處理器601還用于獲取對第二信息進行本地病毒查殺之后得到的第二查殺結果,其中,第二查殺結果用于指示經(jīng)過本地病毒查殺后被判定為病毒的待查殺文件;向服務器發(fā)送第三信息,其中,第三信息用于指示服務器對第二查殺結果中被判定為病毒的待查殺文件進行誤判檢查,誤判檢查用于判斷被判定為病毒的待查殺文件是否為非病毒文件。處理器601還用于獲取對第二信息進行本地病毒查殺之后得到的第二查殺結果,其中,第二查殺結果用于指示經(jīng)過本地病毒查殺后被判定為病毒的待查殺文件;解析第一查殺結果中的第二指示信息,其中,第二指示信息用于指示一個或者多個目標文件為非病毒文件;在被判定為病毒的待查殺文件包括目標文件時,將被判定為病毒的待查殺文件中與目標文件相同的文件修改為非病毒。處理器601還用于解析待查殺文件的屬性信息,其中,屬性信息用于指示服務器根據(jù)屬性信息查待查殺文件,屬性信息至少包括數(shù)據(jù)包的包名、數(shù)據(jù)包的證書和數(shù)據(jù)包的文件大?。粚⒔馕龅玫降膶傩孕畔⒆鳛榇闅⑿畔l(fā)送給服務器??蛇x地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。實施例4本發(fā)明的實施例還提供了一種存儲介質(zhì)??蛇x地,在本實施例中,上述存儲介質(zhì)可以用于存儲本發(fā)明實施例的病毒的查殺方法的程序代碼。可選地,在本實施例中,上述存儲介質(zhì)可以位于移動通信網(wǎng)絡、廣域 網(wǎng)、城域網(wǎng)或局域網(wǎng)的網(wǎng)絡中的多個網(wǎng)絡設備中的至少一個網(wǎng)絡設備??蛇x地,在本實施例中,存儲介質(zhì)被設置為存儲用于執(zhí)行以下步驟的程序代碼:S1,將待查殺信息發(fā)送給服務器,其中,待查殺信息用于指示服務器對與待查殺信息關聯(lián)的待查殺文件進行云端病毒查殺;S2,接收服務器發(fā)送的第一查殺結果,其中,第一查殺結果包括查殺信息和第一指示信息,查殺信息為對待查殺文件中的第一信息進行云端病毒查殺的結果,第一指示信息用于指示客戶端對待查殺文件中未進行云端病毒查殺的第二信息進行本地病毒查殺;S3,對第一指示信息指示的第二信息進行本地病毒查殺??蛇x地,在本實施例中,上述存儲介質(zhì)可以包括但不限于:U盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機存取存儲器(RAM,RandomAccessMemory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)??蛇x地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行:在對第一指示信息指示的第二信息進行本地病毒查殺之后,方法還包括:獲取對第二信息進行本地病毒查殺之后得到的第二查殺結果,其中,第二查殺結果用于指示經(jīng)過本地病毒查殺后被判定為病毒的待查殺文件;向服務器發(fā)送第三信息,其中,第三信息用于指示服務器對第二查殺結果中被判定為病毒的待查殺文件進行誤判檢查,誤判檢查用于判斷被判定為病毒的待查殺文件是否為非病毒文件。可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行在對第一指示信息指示的第二信息進行本地病毒查殺之后,方法還包括:獲取對第二信息進行本地病毒查殺之后得到的第二查殺結果,其中,第二查殺結果用于指示經(jīng)過本地病毒查殺后被判定為病毒的待查殺文件;解析第一查殺結果中的第二指示信息,其中,第二指示信息用于指示一個或者 多個目標文件為非病毒文件;在被判定為病毒的待查殺文件包括目標文件時,將被判定為病毒的待查殺文件中與目標文件相同的文件修改為非病毒。可選地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行將待查殺信息發(fā)送給服務器包括:解析待查殺文件的屬性信息,其中,屬性信息用于指示服務器根據(jù)屬性信息查待查殺文件,屬性信息至少包括數(shù)據(jù)包的包名、數(shù)據(jù)包的證書和數(shù)據(jù)包的文件大??;將解析得到的屬性信息作為待查殺信息發(fā)送給服務器??蛇x地,在本實施例中,處理器根據(jù)存儲介質(zhì)中已存儲的程序代碼執(zhí)行:對第一指示信息指示的第二信息進行本地病毒查殺包括:對待查殺文件進行解析,得到待查殺文件的包特征,其中,包特征至少包括待查殺文件的包名、待查殺文件的證書、待查殺文件的文件大小、待查殺文件所包括的資源文件以及待查殺文件的常量字符串;將包特征與客戶端的本地病毒庫中的病毒特征進行匹配;將匹配得到的包特征所對應的待查殺文件作為病毒文件。可選地,本實施例中的具體示例可以參考上述實施例1和實施例2中所描述的示例,本實施例在此不再贅述。上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。上述實施例中的集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在上述計算機可讀取的存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術方案本質(zhì)上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在存儲介質(zhì)中,包括若干指令用以使得一臺或多臺計算機設備(可為個人計算機、服務器或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。在本發(fā)明的上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。在本申請所提供的幾個實施例中,應該理解到,所揭露的客戶端,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本
技術領域:
的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。當前第1頁1 2 3