的,該LUA腳本可以是服務器側腳本設計人員根據(jù)收集到的病毒信息如當前出現(xiàn)的新型病毒的信息編寫、并通過服務器下發(fā)給客戶端的,或者還可以是服務器根據(jù)客戶端上報的病毒信息并按照預設的模板或規(guī)則生成并發(fā)送給客戶端的,本發(fā)明實施例不做限定。其中,該病毒信息可包括但不限于引發(fā)病毒的注冊表項的文件名、文件路徑、文件數(shù)字簽名,啟動項病毒文件的注冊表啟動項等等。該目標病毒為該下發(fā)的LUA腳本需要清除的對象,如當前出現(xiàn)的新型病毒。
[0067]102、通過調用預先搭建的LUA腳本引擎中注冊的與所述LUA腳本對應的功能函數(shù)運行所述LUA腳本,以對所述目標病毒進行查殺。
[0068]具體實施例中,客戶端中預先搭建有LUA腳本引擎,該LUA腳本引擎中注冊了各類功能函數(shù),包括文件刪除函數(shù)、文件創(chuàng)建函數(shù)、文件時間獲取函數(shù)、判斷文件是否存在的函數(shù)、注冊表的鍵值獲取函數(shù)等等。客戶端在接收到服務器下發(fā)的LUA腳本之后,LUA腳本即可調用LUA腳本引擎中注冊的函數(shù)來實現(xiàn)特定的擴展功能,以進行病毒查殺,比如刪除特定文件(如引發(fā)病毒的注冊表項)。
[0069]在本發(fā)明實施例中,可通過接收服務器下發(fā)的用于查殺目標病毒的LUA腳本,并通過調用預先搭建的LUA腳本引擎中注冊的與該LUA腳本對應的功能函數(shù)來運行該LUA腳本,從而實現(xiàn)對該目標病毒的快速查殺,即能夠通過LUA腳本引擎技術來實現(xiàn)病毒查殺的靈活擴展和定制功能,從而應急處理客戶端在防御上的各種擴展需求,解決了出現(xiàn)病毒時傳播較快而無法及時保護終端的問題。
[0070]進一步的,請參閱圖2,圖2是本發(fā)明實施例提供的另一種病毒查殺方法的流程示意圖。具體的,如圖2所示,本發(fā)明實施例的所述病毒查殺方法可以包括以下步驟:
[0071]201、搭建LUA腳本引擎。
[0072]具體的,LUA腳本引擎可以通過C++代碼編寫實現(xiàn),通過調用LUA原代碼函數(shù)luaL_register注冊表任意函數(shù)名,并實現(xiàn)函數(shù)的功能,該LUA腳本引擎注冊的功能函數(shù)包括文件的刪除、文件的創(chuàng)建、獲取文件時間、判斷文件是否存在、注冊表的鍵值獲取等等功能函數(shù),本發(fā)明實施例不做限定。例如,假設LUA腳本引擎注冊并實現(xiàn)了以下函數(shù):
[0073]KLENGINE_API_DECLARE(KFile,DeleteFile)
[0074]KLENGINE_API_DECLARE(KFile,CreateFile)
[0075]KLENGINE_API_DECLARE(KF iIe,CaIcF iIe S i gn)
[0076]KLENGINE_API_DECLARE(KFile,GetSpecialExtFileList)
[0077]KLENGINE_API_DECLARE(KFile,GetFileTime)
[0078]KLENGINE_API_DECLARE(KFile,IsShadeAttribute)
[0079]KLENGINE_API_DECLARE(KFile,GetPrivateProfileString)
[0080]KLENGINE_API_DECLARE(KFile,GetPrivateProfileSect1n)
[0081 ]KLENGINE_API_DECLARE(KFile,GetFileVers1nInfo)
[0082]KLENGINE_API_DECLARE(KF iIe,IsExist)
[0083]KLENGINE_API_DECLARE(KReg,GetKeyValue)
[0084]KLENGINE_API_DECLARE(KReg,ParseRegFileList)
[0085]KLENGINE_API_DECLARE(KReg,GetKeyVaIueName)
[0086]KLENGINE_API_DECLARE(KRe g,Ge tCIs i dName Str i ng)
[0087]KLENGINE_API_DECLARE(KReg,GetPendingFileList)
[0088]KLENGINE_API_DECLARE(KReg,GetPendingFiIeListEx)
[0089]KLENGINE_API_DECLARE(KReg,GetServi ceName)
[0090]KLENGINE_API_DECLARE(KReg,IsKeyExist)
[0091 ]KLENGINE_API_DECLARE(KReg,SetLiebaoUninstalTime)
[0092]KLENGINE_API_DECLARE(KRe g,Ge tDe fau111e SE)
[0093]KLENGINE_API_DECLARE(KRe g,Pars eIe SE)
[0094]KLENGINE_API_DECLARE(KEng,LogMs g)
[0095 ]KLENGINE_API_DECLARE(KEng,ScanF iIe Syn)
[0096]KLENGINE_API_DECLARE(KEng,ScanFiIeAsyn)
[0097 ]KLENGINE_API_DECLARE(KEng,DeleteVirus)
[0098]KLENGINE_API_DECLARE(KEng,K iIIVirus)
[0099]KLENGINE_API_DECLARE(KEng,OnFindVirus)
[0100]KLENGINE_API_DECLARE(KEng,AddTo Se condPro c)
[0101]KLENGINE_API_DECLARE(KEng,AddToAsynPro c)
[0102]KLENGINE_API_DECLARE(KEng,IsNeedTip)
[0103]KLENGINE_API_DECLARE(KEng,QueryURLSecuritylnfo)
[0104]KLENGINE_API_DECLARE(KEng,QueayIEffhiteUrl)
[0105]KLENGINE_API_DECLARE(KEng,AddRiskFile)
[0106]202、當檢測到目標病毒時,獲取所述目標病毒的信息。
[0107]其中,該獲取的目標病毒的信息(以下簡稱“病毒信息”)可包括檢測到病毒的文件的信息,如引發(fā)病毒的注冊表項的文件名、文件路徑、文件數(shù)字簽名,啟動項病毒文件的注冊表啟動項,等等。
[0108]203、將所述目標病毒的信息發(fā)送至服務器,以使所述服務器根據(jù)所述目標病毒的信息生成用于查殺所述目標病毒的LUA腳本。
[0109]可選的,所述當檢測到目標病毒時,獲取所述目標病毒的信息,可以具體為:當檢測到病毒時,獲取所述病毒的信息;檢測所述病毒的信息是否與預置病毒庫中的病毒信息相匹配,所述預置病毒庫中包括關聯(lián)有病毒查殺文件的至少一種病毒的信息;若所述病毒的信息與所述預置病毒庫中的病毒信息均不匹配,則將所述病毒作為目標病毒,將所述病毒的信息作為所述目標病毒的信息。
[0110]具體實施例中,客戶端中可預先配置有包括多種病毒信息的病毒庫,其中每一種病毒信息關聯(lián)有查殺該病毒信息對應的病毒的文件,即病毒查殺文件。由此,在獲取得到病毒信息時,可通過該病毒信息是否與預置的病毒庫中的病毒信息相匹配來進行病毒查殺。具體的,可在該檢測到的病毒信息與該病毒庫中的任一種病毒的病毒信息相匹配時,直接調用該匹配的病毒信息關聯(lián)的病毒查殺文件進行病毒查殺;在該檢測到的病毒信息與該病毒庫中的病毒信息均不匹配時,如客戶端不能查殺的新型病毒時,即可將該病毒作為目標病毒,并獲取該目標病毒的信息,如引發(fā)病毒的注冊表項的文件路徑和文件名,并將該目標病毒的信息上傳至服務器中。從而服務器可根據(jù)該目標病毒的信息生成LUA腳本,如用于指示刪除該引發(fā)病毒的注冊表項的LUA腳本,并發(fā)送給各客戶端。
[0111]204、接收服務器下發(fā)的LUA腳本。
[0112]205、通過調用預先搭建的LUA腳本引擎中注冊的與所述LUA腳本對應的功能函數(shù)運行所述LUA腳本,以對所述目標病毒進行查殺。
[0113]具體實施例中,客戶端在接收到該服務器發(fā)送的LUA腳本,即可通過預先搭建的LUA腳本引擎運行該接收到的LUA腳本,具體是通過調用該LUA腳本引擎中注冊的與該LUA腳本對應的功能函數(shù)來運行該LUA腳本,從而及時有效地對該目標病毒如新型病毒進行查殺,快速清除該病毒。其中,該LUA腳本包括需要通過該LUA腳本引擎中注冊的函數(shù)執(zhí)行的數(shù)據(jù)。
[0114]可選的,所述LUA腳本中可包括多個腳本文件;則所述通過調用預先搭建的LUA腳本引擎中注冊的與所述LUA腳本對應的功能函數(shù)運行所述LUA腳本,可以具體為:解析所述LUA腳本,得到所述LUA腳本包括的多個腳本文件;在運行所述多個腳本文件時,通過調用預先搭建的LUA腳本引擎中注冊的與每一個腳本文件對應的功能函數(shù)運行該腳本文件。具體的,該LUA腳本可以是服務器對多個LUA腳本文件(簡稱腳本文件)進行加密后發(fā)送給客戶端的,其中,該多個腳本文件可分別用于對不同病毒如位于不同位置的病毒文件的查殺。客戶端在接收到服務器返回的LUA腳本之后,即可對該LUA腳本進行解密,得到該多個腳本文件,并分別運行該多個腳本文件以進行病毒查殺。在運行該多個腳本文件中的任一腳本文件時,即可通過調用該LUA腳本引擎中注冊的與該腳本文件對應的函數(shù)來運行該腳本文件,以查殺該腳本文件對應的病毒。進一步的,還可設置該LUA腳本的運行時間,如每隔24小時運行一次該多個腳本文件,以確保對終端的有效防護。其中,該加密可以是通過預設的加密的算法或者密鑰對該LUA腳本進行加密的,該加密的算法或者密鑰可以是客戶端與服務器預先協(xié)商確定的。
[0115]舉例來說,假