A腳本,得到所述LUA腳本包括的多個腳本文件;
[0146]在運(yùn)行所述多個腳本文件時,通過調(diào)用預(yù)先搭建的LUA腳本引擎中注冊的與每一個腳本文件對應(yīng)的功能函數(shù)運(yùn)行該腳本文件,以對所述目標(biāo)病毒進(jìn)行查殺。
[0147]具體的,該LUA腳本可以是服務(wù)器對多個LUA腳本文件(簡稱腳本文件)進(jìn)行加密后發(fā)送給客戶端的,其中,該多個腳本文件可分別用于對不同病毒或不同位置的病毒文件的查殺。在接收模塊11接收到服務(wù)器返回的LUA腳本之后,處理模塊12即可對該LUA腳本進(jìn)行解密,得到該多個腳本文件,從而分別運(yùn)行該多個腳本文件以進(jìn)行病毒查殺。在運(yùn)行該多個腳本文件中的任一腳本文件時,即可通過調(diào)用該LUA腳本引擎中注冊的與該腳本文件對應(yīng)的功能函數(shù)運(yùn)行該腳本文件,以查殺該腳本文件對應(yīng)的病毒。其中,該加密可以是通過預(yù)設(shè)的加密的算法或者密鑰對該LUA腳本進(jìn)行加密的,該加密的算法或者密鑰可以是客戶端與服務(wù)器預(yù)先協(xié)商確定的。
[0148]進(jìn)一步可選的,所述LUA腳本引擎中注冊有判斷文件是否存在的函數(shù)以及文件刪除函數(shù);所述處理模塊12可包括:
[0149]解析單元121,用于解析所述LUA腳本,得到所述LUA腳本包括的目標(biāo)文件信息,所述目標(biāo)文件信息包括攜帶有所述目標(biāo)病毒的文件的文件路徑及文件名;
[0150]函數(shù)調(diào)用單元122,用于調(diào)用所述判斷文件是否存在的函數(shù)確定所述目標(biāo)文件信息對應(yīng)的文件是否存在;
[0151]所述函數(shù)調(diào)用單元122,還用于在所述目標(biāo)文件信息對應(yīng)的文件存在時,調(diào)用所述文件刪除函數(shù)刪除所述目標(biāo)文件信息對應(yīng)的文件。
[0152]舉例來說,假設(shè)客戶端搭建的LUA腳本引擎中實(shí)現(xiàn)了判斷文件是否存在的函數(shù)KFile.1sExist和文件刪除函數(shù)KFile.DeleteFile等函數(shù)。在需要運(yùn)行某個LUA腳本文件時,若解析單元121解析得到該服務(wù)器下發(fā)的LUA腳本中指示引發(fā)病毒的注冊表項(xiàng)文件名為〃abc〃、文件路徑為C: \abc.txt,則函數(shù)調(diào)用單元122即可通過調(diào)用該KFiIe.1sExist和KFile.DeleteFile函數(shù)運(yùn)行該LUA腳本判斷C: \abc.txt文件是否存在,存在就刪除該〃abc〃文件,從而清除病毒。只要該LUA腳本引擎實(shí)現(xiàn)了相關(guān)功能函數(shù),函數(shù)調(diào)用單元122即可調(diào)用這些功能函數(shù)實(shí)現(xiàn)相應(yīng)的功能。
[0153]進(jìn)一步的,請參閱圖6,圖6是本發(fā)明實(shí)施例提供的又一種病毒查殺裝置的結(jié)構(gòu)示意圖。具體的,如圖6所示,本發(fā)明實(shí)施例的所述病毒查殺裝置可具體設(shè)置于上述的服務(wù)器中,該裝置可以包括信息接收模塊21、腳本生成模塊22以及信息發(fā)送模塊23。其中,
[0154]所述信息接收模塊21,用于接收客戶端發(fā)送的需要查殺的目標(biāo)病毒的信息。
[0155]具體的,所述目標(biāo)病毒的信息可以是客戶端在檢測到目標(biāo)病毒時獲取得到的。
[0156]所述腳本生成模塊22,用于根據(jù)所述信息接收模塊21接收到的所述目標(biāo)病毒的信息生成用于查殺所述目標(biāo)病毒的LUA腳本。
[0157]具體的,該LUA腳本是由LUA腳本語言編寫實(shí)現(xiàn)的,在客戶端搭建LUA腳本引擎之后,腳本生成模塊22即可通過生成LUA腳本代碼來實(shí)現(xiàn)病毒查殺的靈活擴(kuò)展和定制功能。
[0158]所述信息發(fā)送模塊23,用于向所述客戶端發(fā)送所述LUA腳本,以使所述客戶端通過預(yù)先搭建的LUA腳本引擎運(yùn)行所述LUA腳本,對所述目標(biāo)病毒進(jìn)行查殺。
[0159]進(jìn)一步可選的,在腳本生成模塊22根據(jù)病毒信息生成LUA腳本文件之后,若包含多個LUA腳本文件(簡稱為腳本文件),信息發(fā)送模塊23還可將該多個LUA腳本文件加密成一個LUA腳本,如加密為luarp.dat文件,發(fā)布到客戶端,以使LUA腳本引擎解密該LUA腳本并執(zhí)行該多個腳本文件,具體是通過調(diào)用該LUA腳本引擎中注冊的與每一個腳本文件對應(yīng)的功能函數(shù)來運(yùn)行該腳本文件。而由于LUA腳本的編寫是輕量級的,這就使得能夠快速實(shí)現(xiàn)各種各樣的病毒查殺應(yīng)急需求。
[0160]在本發(fā)明實(shí)施例中,客戶端可在檢測到病毒時獲取該病毒的信息,并將該病毒信息發(fā)送至服務(wù)器,以使服務(wù)器根據(jù)該病毒信息生成用于查殺該病毒的LUA腳本并下發(fā)給各客戶端??蛻舳嗽诮邮盏椒?wù)器下發(fā)的LUA腳本之后,即可通過預(yù)先搭建的LUA腳本引擎運(yùn)行該LUA腳本,從而對該病毒進(jìn)行快速查殺,使得能夠通過LUA腳本引擎技術(shù)來實(shí)現(xiàn)病毒查殺的靈活擴(kuò)展和定制功能,從而應(yīng)急處理客戶端在防御上的各種擴(kuò)展需求,解決了在出現(xiàn)客戶端不能查殺的病毒如新型病毒時傳播較快而無法及時保護(hù)終端的問題。
[0161]請參閱圖7,圖7是本發(fā)明實(shí)施例提供的一種病毒查殺系統(tǒng)的結(jié)構(gòu)示意圖。具體的,本發(fā)明實(shí)施例的所述病毒查殺系統(tǒng)可包括服務(wù)器I和至少一個客戶端2。如圖7所示,假設(shè)某病毒查殺系統(tǒng)中包括服務(wù)器I及3個分別安裝于不同終端設(shè)備的客戶端2;其中,
[0162]所述客戶端2,用于在檢測到目標(biāo)病毒時,獲取所述目標(biāo)病毒的信息,并將所述目標(biāo)病毒的信息發(fā)送至服務(wù)器I;
[0163]所述服務(wù)器I,用于接收所述客戶端2發(fā)送的需要查殺的目標(biāo)病毒的信息;根據(jù)所述目標(biāo)病毒的信息生成用于查殺所述目標(biāo)病毒的LUA腳本;向各客戶端2發(fā)送所述LUA腳本;
[0164]所述客戶端2,還用于接收所述服務(wù)器2下發(fā)的用于查殺所述目標(biāo)病毒的LUA腳本;通過調(diào)用預(yù)先搭建的LUA腳本引擎中注冊的與所述LUA腳本對應(yīng)的功能函數(shù)運(yùn)行所述LUA腳本,以對所述目標(biāo)病毒進(jìn)行查殺。
[0165]其中,該向服務(wù)器I發(fā)送目標(biāo)病毒的信息的客戶端2可以是安裝于任一終端設(shè)備的客戶端。服務(wù)器I在根據(jù)病毒信息生成LUA腳本之后,即可向安裝于各終端設(shè)備的該客戶端發(fā)布該LUA腳本,以實(shí)現(xiàn)對該病毒的防護(hù)及快速查殺。
[0166]舉例來說,假設(shè)客戶端2搭建的LUA腳本引擎中實(shí)現(xiàn)了KFi le.1sExist和KFile.DeleteFile等函數(shù),且該獲取的目標(biāo)病毒的信息指示引發(fā)病毒的注冊表項(xiàng)文件名為"abc"、文件路徑為C: \abc.txt。則服務(wù)器I在獲取得到該目標(biāo)病毒的信息之后,即可根據(jù)該病毒信息生成用于刪除該注冊表項(xiàng)的LUA腳本,并向各客戶端2發(fā)布該LUA腳本??蛻舳?在接收到服務(wù)器I下發(fā)的LUA腳本之后,即可通過調(diào)用該KFi Ie.1 sExi st和KFi le.DeleteFi Ie函數(shù)運(yùn)行該LUA腳本,即判斷C:\abc.txt文件是否存在,存在就刪除〃abc 〃文件,以清除病毒。只要客戶端2搭建的LUA腳本引擎實(shí)現(xiàn)了相關(guān)功能函數(shù),服務(wù)器即可生成LUA腳本去調(diào)用這些功能,從而實(shí)現(xiàn)病毒查殺。
[0167]具體的,該客戶端2可參照圖1-2對應(yīng)實(shí)施例的相關(guān)描述,服務(wù)器I可參照圖3對應(yīng)實(shí)施例的相關(guān)描述,此處不再贅述。
[0168]請參見圖8,是本發(fā)明實(shí)施例提供的一種終端設(shè)備的結(jié)構(gòu)示意圖,具體的,如圖8所示,本發(fā)明實(shí)施例的所述終端設(shè)備包括:通信接口 300、存儲器200和處理器100,所述處理器100分別與所述通信接口 300及所述存儲器200連接。所述存儲器200可以是高速RAM存儲器,也可以是非不穩(wěn)定的存儲器(non-volatile memory),例如至少一個磁盤存儲器。所述通信接口 300、存儲器200以及處理器100之間可以通過總線進(jìn)行數(shù)據(jù)連接,也可以通過其他方式數(shù)據(jù)連接。本實(shí)施例中以總線連接進(jìn)行說明。具體的,本發(fā)明實(shí)施例中的所述終端設(shè)備可與上述圖4-5對應(yīng)的病毒查殺裝置相對應(yīng),具體請參照圖4-5對應(yīng)實(shí)施例的相關(guān)描述。其中,
[0169]所述存儲器200用于存儲驅(qū)動軟件;
[0170]所述處理器100從所述存儲器讀取所述驅(qū)動軟件并在所述驅(qū)動軟件的作用下執(zhí)行:
[0171]通過所述通信接口300接收服務(wù)器下發(fā)的用于查殺目標(biāo)病毒的LUA腳本;
[0172]通過調(diào)用預(yù)先搭建的LUA腳本引擎中注冊的與所述LUA腳本對應(yīng)的功能函數(shù)運(yùn)行所述LUA腳本,以對所述目標(biāo)病毒進(jìn)行查殺。
[0173]可選的,所述處理器100在執(zhí)行所述接收服務(wù)器下發(fā)的用于查殺目標(biāo)病毒的LUA腳本之前,還用于執(zhí)行以下步驟:
[0174]當(dāng)檢測到目標(biāo)病毒時,獲取所述目標(biāo)病毒的信息;
[0175]通過所述通信接口300將所述目標(biāo)病毒的信息發(fā)送至服務(wù)器,以使所述服務(wù)器根據(jù)所述目標(biāo)病毒的信息生成用于查殺所述目標(biāo)病毒的LUA腳本。
[0176]可選的,所述LUA腳本引擎中注冊有功能函數(shù),所述功能函數(shù)包括文件刪除函數(shù)、文件創(chuàng)建函數(shù)、文件時間獲取函數(shù)、判斷文件是否存在的函數(shù)、注冊表的鍵值獲取函數(shù)中的任一種或多種。
[0177]可選的,所述LUA腳本引擎中注冊有判斷文件是否存在的函數(shù)以及文件刪除函數(shù);所述處理器100在執(zhí)行所述通過調(diào)用預(yù)先搭建的LUA腳本引擎中注冊的與所述LUA腳本對應(yīng)的功能函數(shù)運(yùn)行所述LUA腳本,以對所述目標(biāo)病毒進(jìn)行查殺,具體執(zhí)行以下步驟:
[0178]解析所述LUA腳本,得到所述LUA腳本包括的目標(biāo)文件信息,所述目標(biāo)文件信息包括攜帶有所述目標(biāo)病毒的文件的文件路徑及文件名;
[0179]調(diào)用所述判斷文件是否存在的函數(shù)確定所述目標(biāo)文件信息對應(yīng)的文件是否存在;
[0180]若存在,則調(diào)用所述文件刪除函數(shù)刪除所述目標(biāo)文件信息對應(yīng)的文件。
[0181]可選的,所述LUA腳本中包括多個腳本文件;所述處理器100在執(zhí)行所述通過調(diào)用預(yù)先搭建的LUA腳本弓I擎中注冊的與所述LUA腳本對應(yīng)的功能函數(shù)運(yùn)行所述LUA腳本,具體執(zhí)行以下步驟:
[0182]解析所述LUA腳本,得到所述LUA腳本包括的多個腳本文件;
[0183]在運(yùn)行所述多個腳本文件時,通過調(diào)用預(yù)先搭建的LUA腳本引擎中注冊的與每一個腳本文件對應(yīng)的功能函數(shù)運(yùn)行該腳本文件。
[0184]可選的,所述處理器100在執(zhí)行所述當(dāng)檢測到目標(biāo)病毒時,獲取所述目標(biāo)病毒的信息,具體執(zhí)行以下步驟:
[0185]當(dāng)檢測到病毒時,獲取所述病毒的信息;
[0186]檢測所述病毒的信息是否與預(yù)置病毒庫中的病毒信息相匹