專利名稱:應用程序安裝包的特征信息提取方法、裝置與客戶端設備的制作方法
技術領域:
本發(fā)明涉及安全技術領域,特別涉及一種應用程序安裝包的特征信息提取方法、裝置與客戶端設備。
背景技術:
應用程序安裝包通常為ー個壓縮文件,該壓縮文件中通??梢园ㄙY源文件、配置文件以及可執(zhí)行文件等等。例如,Android系統(tǒng)的應用程序安裝包可以稱為apk文件,例如該壓縮格式的apk文件中可以包括可執(zhí)行文件dex文件以及其他文件等等?,F(xiàn)有技術中,為了檢測應用程序的安裝包是否為流氓軟件或者病毒,需要對應用程序的安裝包進行解壓縮,獲取到完整的可執(zhí)行文件。然后在內存中對完整可執(zhí)行文件進行解析,提取出特征信息;并將提取出的特征信息與預設的病毒特征庫中的病毒樣本所包 含的特征信息進行比對,從而檢測出該應用程序安裝包是否為流氓程序或者病毒文件。例如對于Android系統(tǒng)的apk文件,可以對apk文件解壓縮,從中獲取dex文件,再對dex文件進行解析,從中提取類名、方法名以及常量字符串等特征信息,當提取出的特征信息與預設的病毒特征庫中的某病毒樣本所包含的特征信息相同時,該apk文件為流氓程序或病毒文件。在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術至少存在以下問題現(xiàn)有技術中,當需要對應用程序安裝包進行檢測時,需要對應用程序安裝包解壓縮后得到完整的可執(zhí)行文件,然后在內存中對得到的完整的可執(zhí)行文件進行解析提取特征信息,當可執(zhí)行文件較大,完整的可執(zhí)行文件放在內存中,會占用大量的內存,導致內存不足,延長提取特征信息的時間,嚴重影響從應用程序安裝包中獲取特征信息的效率。
發(fā)明內容
為了解決現(xiàn)有技術的問題,本發(fā)明實施例提供了一種應用程序安裝包的特征信息提取方法、裝置與客戶端設備。所述技術方案如下一方面,提供了一種應用程序安裝包的特征信息提取方法,所述方法包括對應用程序安裝包中不大于一閾值的數(shù)據(jù)進行解壓縮;對解壓縮得到的解壓縮數(shù)據(jù)進行分析,獲取包括所述應用程序安裝包的特征信息的關鍵數(shù)據(jù);重復上述兩個步驟,直到對所述應用程序安裝包解壓縮完畢,獲取到所述應用程序安裝包中的所有關鍵數(shù)據(jù);對所述所有關鍵數(shù)據(jù)進行解析,從所述所有關鍵數(shù)據(jù)中提取所述應用程序安裝包的特征信息??蛇x地,如上所述方法中,閾值為一預設值或根據(jù)所述應用程序安裝包的大小進行確定??蛇x地,如上所述方法中,所述應用程序安裝包的特征信息包括類名、方法名和常量字符串中的至少ー種。
另ー方面,提供了一種應用程序安裝包的特征信息提取裝置,所述裝置包括解壓縮模塊,用于對應用程序安裝包中不大于一閾值的數(shù)據(jù)進行解壓縮;獲取模塊,用于對所述解壓縮模塊解壓縮得到的解壓縮數(shù)據(jù)進行分析,獲取包括所述應用程序安裝包的特征信息的關鍵數(shù)據(jù);控制模塊,用于控制所述解壓縮模塊和所述獲取模塊重復執(zhí)行相應操作,直到對所述應用程序安裝包解壓縮完畢,所述獲取模塊獲取到所述應用程序安裝包中的所有關鍵數(shù)據(jù);提取模塊,用于對所述所有關鍵數(shù)據(jù)進行解析,從所述獲取模塊獲取到的所述所有關鍵數(shù)據(jù)中提取所述應用程序安裝包的特征信息??蛇x地,如上所述裝置中,還包括閾值確定模塊所述閾值確定模塊,用于預設所述閾值或者根據(jù)所述應用程序安裝包的大小確定 所述閾值??蛇x地,如上所述裝置中,所述應用程序安裝包的特征信息包括類名、方法名和常量字符串中的至少ー種。再一方面,提供了ー種apk文件中特征信息提取方法,其采用如上任一所述的方法。又一方面,提供了一種客戶端設備,在所述客戶端設備上包括如上任一所述的應用程序安裝包的特征信息提取裝置。可選地,如上所述的客戶端設備中,所述客戶端設備包括移動終端??蛇x地,如上所述的客戶端設備中,所述客戶端設備包括安裝安卓系統(tǒng)的移動終端。本發(fā)明實施例的應用程序安裝包的特征信息提取方法、裝置與客戶端設備,通過對應用程序安裝包中不大于一閾值的數(shù)據(jù)進行解壓縮;并對解壓縮得到的解壓縮數(shù)據(jù)進行分析,獲取包括特征信息的關鍵數(shù)據(jù);重復上述兩個步驟,直到對所述應用程序安裝包解壓縮完畢,獲取到應用程序安裝包中的所有關鍵數(shù)據(jù),并對所有關鍵數(shù)據(jù)進行解析,從所有關鍵數(shù)據(jù)中提取應用程序安裝包的特征信息。采用本發(fā)明實施例的技術方案,能夠在內存中分別對大小等于閾值的數(shù)據(jù)進行解壓縮,并在解壓縮之后對解壓縮數(shù)據(jù)進行分析獲取其中包括特征信息的關鍵數(shù)據(jù),解壓過程中不會占用較大的內存,而且由于本發(fā)明實施例的技術方案中,在每次解壓縮之后,僅獲取解壓縮數(shù)據(jù)中的關鍵數(shù)據(jù),因此本發(fā)明技術方案中,僅需要從獲取的所有關鍵數(shù)據(jù)中提取應用程序安裝包的特征信息,與現(xiàn)有技術中的從整個可執(zhí)行文件中獲取應用程序安裝包的特征信息相比,本發(fā)明實施例的技術方案在實施吋,能夠有效地減少內存占用空間,縮短提取應用程序安裝包的特征信息的時間,提高從應用程序安裝包中獲取特征信息的效率。
為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明實施例一提供的應用程序安裝包的特征信息提取方法的流程圖;圖2為本發(fā)明實施例ニ提供的應用程序安裝包的特征信息提取方法的流程圖3為本發(fā)明實施例三提供的應用程序安裝包的特征信息提取裝置的結構示意圖;圖4為本發(fā)明實施例四提供的應用程序安裝包的特征信息提取裝置;圖5為本發(fā)明實施例五提供的客戶端設備的結構示意圖。
具體實施例方式為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進ー步地詳細描述。實施例一圖I為本發(fā)明實施例一提供的應用程序安裝包的特征信息提取方法的流程圖。本實施例的應用程序安裝包的特征信息提取方法的執(zhí)行主體為ー應用程序安裝包的特征信 息提取裝置,該應用程序安裝包的特征信息提取裝置具體可以設置在ー客戶端設備上。如圖I所示,本實施例的應用程序安裝包的特征信息提取方法,具體可以包括如下步驟100、對應用程序安裝包中不大于一閾值的數(shù)據(jù)進行解壓縮;101、對解壓縮得到的解壓縮數(shù)據(jù)進行分析,獲取包括應用程序安裝包的特征信息的關鍵數(shù)據(jù);例如,其中的關鍵數(shù)據(jù)即為包括應用程序安裝包的特征信息的數(shù)據(jù)。102、重復上述100和101兩個步驟,直到對應用程序安裝包解壓縮完畢,獲取到應用程序安裝包中的所有關鍵數(shù)據(jù);本實施例中的關鍵數(shù)據(jù)為應用程序安裝包的可執(zhí)行文件中包括特征信息的數(shù)據(jù)。需要說明的是,可執(zhí)行文件中除了包括該關鍵數(shù)據(jù),還包括有其他數(shù)據(jù),這些其他數(shù)據(jù)中不包括應用程序安裝包的特征信息。因此解壓縮完畢獲取的所有關鍵數(shù)據(jù)的大小之和小于應用程序安裝包中的可執(zhí)行文件的大小。103、對所有關鍵數(shù)據(jù)進行解析,從所有關鍵數(shù)據(jù)中提取應用程序安裝包的特征信
O本實施例的應用程序安裝包可以為各種系統(tǒng)下的應用程序安裝包,例如可以為windows系統(tǒng)的應用程序安裝包,還可以為Android系統(tǒng)的應用程序安裝包。例如具體可以為Android系統(tǒng)的應用程序安裝包可以稱為apk文件。當應用程序安裝包為apk文件,對應的可執(zhí)行文件為dex文件,此時,本實施例中所有關鍵數(shù)據(jù)的大小之和小于dex文件的大小。還可以為ios系統(tǒng)下的應用程序安裝包。例如本實施例中閾值可以為ー預設值,或還可以為根據(jù)應用程序安裝包的大小進行確定,例如為了減少實施例時占用的內存空間,可以設置閾值為很小的幾十K。本實施例的技術方案中,毎次僅對應用程序安裝包中大小等于閾值的數(shù)據(jù)進行解壓縮,且直接從解壓縮后得到的解壓縮數(shù)據(jù)中獲取能夠提取特征信息的關鍵數(shù)據(jù)。由于應用程序安裝包包括資源文件、配置文件以及可執(zhí)行文件等等,在對閾值大小的數(shù)據(jù)進行解壓縮之后,參考現(xiàn)有技術可以得到解壓縮的數(shù)據(jù)為應用程序安裝包中哪個文件中的數(shù)據(jù),由于僅能夠從可執(zhí)行文件中提取應用程序安裝包的特征信息,所以,可以丟棄解壓縮數(shù)據(jù)中的資源文件或者配置文件的數(shù)據(jù),保留可執(zhí)行文件的數(shù)據(jù);進ー步地,可執(zhí)行文件中也包括有能夠提取出應用程序安裝包的特征信息的數(shù)據(jù)和不能提取出應用程序安裝包的特征信息的數(shù)據(jù),其中能夠提取出應用程序安裝包的特征信息的數(shù)據(jù)為有效數(shù)據(jù);這樣可以僅保留解壓縮數(shù)據(jù)中屬于可執(zhí)行文件中能夠提取出應用程序安裝包的特征信息的數(shù)據(jù)的關鍵數(shù)據(jù)。因此,在毎次解壓縮后能夠得到一部分關鍵數(shù)據(jù),重復對應用程序安裝包進行解壓縮操作,對整個應用程序安裝包進行解壓縮可以得到所有關鍵數(shù)據(jù);最后從所有關鍵數(shù)據(jù)中提取應用程序安裝包的特征信息;例如具體可以參考現(xiàn)有技術中從可執(zhí)行文件中采用解析分析方法獲取應用程序安裝包的特征信息的方法從所有關鍵數(shù)據(jù)中提取應用程序安裝包的特征信息。本實施例的應用程序安裝包的特征信息提取方法,通過對應用程序安裝包中不大于閾值大小的數(shù)據(jù)進行解壓縮;對解壓縮得到的解壓縮數(shù)據(jù)進行分析,獲取包括特征信息的關鍵數(shù)據(jù);重復上述兩個步驟,直到對應用程序安裝包解壓縮完畢,獲取到應用程序安裝包中的所有關鍵數(shù)據(jù),并對所有關鍵數(shù)據(jù)進行解析,從所有關鍵數(shù)據(jù)中提取應用程序安裝包的特征信息。采用本實施例的技術方案,能夠在內存中分別對閾值大小的數(shù)據(jù)進行解壓縮,并在解壓縮之后對解壓縮數(shù)據(jù)進行分析獲取其中包括特征信息的關鍵數(shù)據(jù),解壓過程中不會占用較大的內存,而且由于本實施例的技術方案中,在毎次解壓縮之后,僅獲取解壓 縮數(shù)據(jù)中的關鍵數(shù)據(jù),因此本實施例的技術方案中,僅需要從獲取的所有關鍵數(shù)據(jù)中提取應用程序安裝包的特征信息,與現(xiàn)有技術中的從整個可執(zhí)行文件中獲取應用程序安裝包的特征信息相比,本實施例的技術方案在實施時,能夠有效地減少內存占用空間,縮短提取應用程序安裝包的特征信息的時間,提高從應用程序安裝包中獲取特征信息的效率。例如,可選地,在上述圖I所示實施例的技術方案的基礎上,其中步驟100“對應用程序安裝包中不大于閾值大小的數(shù)據(jù)進行解壓縮”之前,上述實施例的應用程序安裝包的特征信息提取方法還包括如下步驟(I)判斷應用程序安裝包中未解壓數(shù)據(jù)的大小是否大于等于閾值;若應用程序安裝包中的未解壓數(shù)據(jù)的大小大于等于閾值,執(zhí)行步驟(2);進ー步可選地,若應用程序安裝包中的未解壓數(shù)據(jù)的大小小于閾值,執(zhí)行步驟(3);(2)從應用程序安裝包中的未解壓數(shù)據(jù)中讀取大小等于閾值的數(shù)據(jù);進一步可選地,執(zhí)行步驟(4);(3)讀取應用程序安裝包中的未解壓數(shù)據(jù);進一步可選地,執(zhí)行步驟(5);(4)對應用程序安裝包中大小等于閾值的數(shù)據(jù)進行解壓縮。該步驟(4)可以看作是上述實施例中的步驟100 “對應用程序安裝包中不大于閾值的數(shù)據(jù)進行解壓縮”的ー種具體實現(xiàn)方式。(5)對應用程序安裝包中大小小于閾值的未解壓數(shù)據(jù)進行解壓縮。該步驟(5)也可以看作是上述實施例中的步驟100 “對應用程序安裝包中不大于閾值的數(shù)據(jù)進行解壓縮”的另ー種具體實現(xiàn)方式??蛇x地,上述實施例中獲取的所有關鍵數(shù)據(jù)根據(jù)實際處理需求可以存儲在內存中或者緩存中?;蛘哌€可以先存儲在磁盤中,當需求從所有關鍵數(shù)據(jù)中提取應用程序安裝包的特征信息時,再將所有關鍵數(shù)據(jù)讀取至緩存或者內存中。與現(xiàn)有技術需要對整個可執(zhí)行文件進行分析,從中獲取應用程序安裝包的特征信息相比,本實施例中提取處理的對象為所有關鍵數(shù)據(jù),所有關鍵數(shù)據(jù)的大小之和小于可執(zhí)行文件的大小,從而能夠有效地節(jié)省內存占用的空間,縮短提取應用程序安裝包的特征信息的時間,提高提取應用程序安裝包的特征信息的效率??蛇x地,上述實施例中的應用程序安裝包的特征信息包括提取類名、方法名和常量字符串中的至少ー種。這些應用程序安裝包的特征信息用干與預設的病毒特征庫中的病毒樣本所包含的特征信息進行比對,從而判斷出該應用程序安裝包是否為流氓程序或者病毒文件。預設的病毒特征庫中可以包括多個病毒樣本,每ー個病毒樣本可以包括至少ー個特征信息;當提取的特征信息與病毒特征庫中的某個病毒樣本所包括的特征信息都相同時,可以認為該應用程序安裝包為流氓程序或者病毒文件;否則該應用程序安裝包為正常文件。詳細可以參考相關現(xiàn)有技術,在此不再贅述。通過采用上述實施例的應用程序安裝包的特征信息 提取方法,與現(xiàn)有技術中的從整個可執(zhí)行文件中獲取應用程序安裝包的特征信息相比,本實施例的技術方案在實施吋,能夠有效地減少內存占用空間,縮短提取應用程序安裝包的特征信息的時間,提高從應用程序安裝包中獲取特征信息的效率。由上述實施例可知,上述實施例的應用程序安裝包的特征信息提取方法具體可以應用在病毒查殺過程中,對應用程序安裝包的特征信息提取,然后可以采用相關現(xiàn)有技術根據(jù)提取的應用程序安裝包的特征信息與預設的病毒特征庫,判斷該應用程序安裝包是否為流氓程序或者病毒文件。詳細可以參考相關現(xiàn)有技術,在此不再贅述。實施例ニ圖2為本發(fā)明實施例ニ提供的應用程序安裝包的特征信息提取方法的流程圖。如圖2所示,本實施例的應用程序安裝包的特征信息提取方法在上述實施例的基礎上,結合其應用場景,進ー步詳細地介紹本發(fā)明的技術方案,同理,本實施例的應用程序安裝包的特征信息提取方法的執(zhí)行主體仍然為一應用程序安裝包的特征信息提取裝置。如圖2所示,本實施例的應用程序安裝包的特征信息提取方法,具體可以包括如下步驟200、判斷應用程序安裝包中未解壓數(shù)據(jù)的大小是否大于等于一閾值;若大于等于,執(zhí)行步驟201,否則若小于,執(zhí)行步驟203 ;其中閾值為預設大小,為了減少內存占用,閾值下與可以設置的較小,這樣應用程序安裝包通常情況下應該大于該閾值。此時可以不執(zhí)行該步驟200,可以直接執(zhí)行步驟201。但是為了防止也有較小的應用程序安裝包漏掉檢測,優(yōu)選地從步驟200開始。201、從應用程序安裝包的未解壓數(shù)據(jù)中讀取大小等于閾值的數(shù)據(jù)至內存;執(zhí)行步驟 202 ;202、在內存中對應用程序安裝包中大小等于閾值的數(shù)據(jù)進行解壓縮。執(zhí)行步驟205 ;203、讀取應用程序安裝包中的未解壓數(shù)據(jù)至內存;執(zhí)行步驟204 ;204、在內存中對應用程序安裝包中大小小于閾值的未解壓數(shù)據(jù)進行解壓縮;執(zhí)行步驟205 ;205、從解壓縮得到的解壓縮數(shù)據(jù)中獲取包括應用程序安裝包的特征信息的關鍵數(shù)據(jù);執(zhí)行步驟206 ;206、判斷應用程序安裝包是否解壓縮完畢,當解壓縮完畢,執(zhí)行步驟207 ;否則當未解壓縮完畢,執(zhí)行步驟200;207、對解壓縮完畢得到的所有關鍵數(shù)據(jù)進行解析,從所有關鍵數(shù)據(jù)中提取應用程序安裝包的特征信息。例如應用程序安裝包的特征信息包括提取類名、方法名和常量字符串中的至少ー種。本實施例的應用程序安裝包的特征信息提取方法,通過采用上述技術方案,在每次解壓縮之后,僅獲取解壓縮數(shù)據(jù)中的關鍵數(shù)據(jù),,解壓過程中不會占用較大的內存,而且本實施例中最終解壓縮得到的所有關鍵數(shù)據(jù)的大小之和小于應用程序安裝包中的可執(zhí)行文件的大小,且僅需要從獲取的所有關鍵數(shù)據(jù)中提取應用程序安裝包的特征信息,與現(xiàn)有技術中的從整個可執(zhí)行文件中獲取應用程序安裝包的特征信息相比,本實施例的技術方案在實施時,能夠有效地減少內存占用空間,縮短提取應用程序安裝包的特征信息的時間,提高從應用程序安裝包中獲取特征信息的效率。參考上述實施例一和ニ,本發(fā)明實施例還可以提供ー種apk文件中體征信息的提取方法,其中具體可以采用上述實施例的應用程序安裝包的特征信息提取方法來實現(xiàn),此 時應用程序安裝包為apk文件,詳細可以參考上述相關方法實施例的記載,在此不再贅述。實施例三圖3為本發(fā)明實施例三提供的應用程序安裝包的特征信息提取裝置的結構示意圖。如圖3所示,本實施例的應用程序安裝包的特征信息提取裝置包括解壓縮模塊10、獲取模塊11、控制模塊12和提取模塊13。其中解壓縮模塊10用于對應用程序安裝包中不大于一閾值的數(shù)據(jù)進行解壓縮;獲取模塊11與解壓縮模塊10連接,獲取模塊11用于對解壓縮模塊10解壓縮得到的解壓縮數(shù)據(jù)進行分析,獲取包括特征信息的關鍵數(shù)據(jù);控制模塊12分別與解壓縮模塊10和獲取模塊11連接,控制模塊12用于控制解壓縮模塊10和獲取模塊11重復執(zhí)行相應操作,直到對應用程序安裝包解壓縮完畢,獲取模塊11獲取到應用程序安裝包中的所有關鍵數(shù)據(jù);其中所有有用數(shù)據(jù)的大小之和小于應用程序安裝包中的可執(zhí)行文件的大小;提取模塊13與獲取模塊11連接,提取模塊13用于在控制模塊12對解壓縮模塊10和獲取模塊11控制處理后,對獲取模塊11獲取到的所有關鍵數(shù)據(jù)進行解析,從獲取模塊11獲取到的所有關鍵數(shù)據(jù)中提取應用程序安裝包的特征信息。本實施例的應用程序安裝包的特征信息提取裝置,通過采用上述模塊實現(xiàn)應用程序安裝包的特征信息提取,與上述相關方法實施例的實現(xiàn)機制相同,詳細可以參考上述相關方法實施例的記載,在此不再贅述。本實施例的應用程序安裝包的特征信息提取裝置,通過采用上述模塊實現(xiàn)對應用程序安裝包中不大于一閾值的數(shù)據(jù)進行解壓縮;并堆解壓縮得到的解壓縮數(shù)據(jù)進行解析,獲取包括特征信息的關鍵數(shù)據(jù);重復上述兩個步驟,直到對應用程序安裝包解壓縮完畢,獲取到應用程序安裝包中的所有關鍵數(shù)據(jù),并對所有關鍵數(shù)據(jù)進行解析,從所有關鍵數(shù)據(jù)中提取應用程序安裝包的特征信息。采用本發(fā)明實施例的技術方案,能夠在內存中分別對閾值大小的數(shù)據(jù)進行解壓縮,并在解壓縮之后對解壓縮數(shù)據(jù)進行分析獲取其中包括特征信息的關鍵數(shù)據(jù),解壓過程中不會占用較大的內存,而且由于本實施例的技術方案中,在毎次解壓縮之后,僅獲取解壓縮數(shù)據(jù)中的關鍵數(shù)據(jù),且所有有用數(shù)據(jù)小于應用程序安裝包中的可執(zhí)行文件的大小,因此本實施例的技術方案中,僅需要從獲取的所有關鍵數(shù)據(jù)中提取應用程序安裝包的特征信息,與現(xiàn)有技術中的從整個可執(zhí)行文件中獲取應用程序安裝包的特征信息相比,本實施例的技術方案在實施時,能夠有效地減少內存占用空間,縮短提取應用程序安裝包的特征信息的時間,提高從應用程序安裝包中獲取特征信息的效率。實施例四圖4為本發(fā)明實施例四提供的應用程序安裝包的特征信息提取裝置。如圖4所示,本實施例的應用程序安裝包的特征信息提取裝置,在上述圖3所示實施例的基礎上,還可以包括如下技術方案。如圖4所示,本實施例的應用程序安裝包的特征信息提取裝置,還包括判斷模塊14和讀取模塊15。判斷模塊14用于在解壓縮模塊10對應用程序安裝包中不大于閾值大小的數(shù)據(jù)進行解壓縮之前,判斷應用程序安裝包中未解壓數(shù)據(jù)的大小是否大于等于閾值;讀取模塊15與判斷模塊14連接,讀取模塊15用于若判斷模塊14確定應用程序安裝包中的未解壓數(shù)據(jù)的大小大于等于閾值,從應用程序安裝包中的未解壓數(shù)據(jù)中讀取大小等于閾值的數(shù)據(jù);解 壓縮模塊10與讀取模塊15連接,解壓縮模塊10具體用于對讀取模塊15讀取的應用程序安裝包中大小等于閾值的數(shù)據(jù)進行解壓縮。進ー步可選地,本實施例的應用程序安裝包的特征信息提取裝置中的讀取模塊15還用于若判斷模塊14確定應用程序安裝包中的未解壓數(shù)據(jù)的大小小于閾值,讀取應用程序安裝包中的未解壓數(shù)據(jù);解壓縮模塊10具體用于對讀取模塊15讀取的應用程序安裝包中大小小于閾值的未解壓數(shù)據(jù)進行解壓縮。進ー步可選地,本實施例的應用程序安裝包的特征信息提取裝置中的應用程序安 裝包為apk文件。進ー步可選地,本實施例的應用程序安裝包的特征信息提取裝置中的應用程序安裝包的特征信息包括提取類名、方法名和常量字符串中的至少ー種??蛇x地,本實施例的應用程序安裝包的特征信息提取裝置中還包括閾值確定模塊,閾值確定模塊,用于預設閾值或者根據(jù)應用程序安裝包的大小確定所述閾值。圖4所示實施例的應用程序安裝包的特征信息提取裝置,以包括上述所有可選技術方案為例描述本發(fā)明的技術方案,實際應用中,上述所有可選技術方案可以采用任何可結合的方式構成本發(fā)明實施例的可選技術方案,在此不再--舉例。本實施例的應用程序安裝包的特征信息提取裝置,通過采用上述模塊實現(xiàn)應用程序安裝包的特征信息提取,與上述相關方法實施例的實現(xiàn)機制相同,詳細可以參考上述相關方法實施例的記載,在此不再贅述。本實施例的應用程序安裝包的特征信息提取裝置,通過采用上述技術方案,與現(xiàn)有技術中的從整個可執(zhí)行文件中獲取應用程序安裝包的特征信息相比,本實施例的技術方案在實施時,能夠有效地減少內存占用空間,縮短提取應用程序安裝包的特征信息的時間,提高從應用程序安裝包中獲取特征信息的效率。實施例五圖5為本發(fā)明實施例五提供的客戶端設備的結構示意圖。如圖5所示,本實施例的客戶端設備20上包括應用程序安裝包的特征信息提取裝置30。具體地,本實施例的客戶端設備中的應用程序安裝包的特征信息提取裝置30具體可以采用上述圖3或者圖4所示的應用程序安裝包的特征信息提取裝置,具體可以采用上述圖I或者圖2所示實施例的方法來實現(xiàn)??蛇x地,本實施例的客戶端設備20中還可以設置有預設的病毒特征庫。應用程序安裝包的特征信息提取裝置30提取到應用程序安裝包的特征信息之后,客戶端設備20將應用程序安裝包的特征信息與病毒特征庫中的病毒樣本所包含的特征信息進行比對,從而判斷出該應用程序安裝包是否為流氓程序或者病毒文件。預設的病毒特征庫中可以包括多個病毒樣本,每ー個病毒樣本可以包括至少ー個特征信息;當提取的特征信息與病毒特征庫中的某個病毒樣本所包括的特征信息都相同時,可以認為該應用程序安裝包為流氓程序或者病毒文件;否則該應用程序安裝包為正常文件。詳細可以參考相關現(xiàn)有技術,在此不再贅述。 可選地,本實施例的客戶端設備包括移動終端,或者還可以包括固定終端。進ー步可選地,本實施例的客戶端設備包括安裝安卓系統(tǒng)的移動終端。本實施例的客戶端設備,通過采用上述應用程序安裝包的特征信息提取裝置,通過對應用程序安裝包中不大于一閾值的數(shù)據(jù)進行解壓縮;并對解壓縮得到的解壓縮數(shù)據(jù)進行解析,獲取包括特征信息的關鍵數(shù)據(jù);重復上述兩個步驟,直到對應用程序安裝包解壓縮完畢,獲取到應用程序安裝包中的所有關鍵數(shù)據(jù),并對所有關鍵數(shù)據(jù)進行解析,從所有關鍵數(shù)據(jù)中提取應用程序安裝包的特征信息。采用本發(fā)明實施例的技術方案,能夠在內存中分別對閾值的數(shù)據(jù)進行解壓縮,并在解壓縮之后對解壓縮數(shù)據(jù)進行分析獲取其中包括特征信息的關鍵數(shù)據(jù),解壓過程中不會占用較大的內存,而且由于本實施例的技術方案中,在毎次解壓縮之后,僅獲取解壓縮數(shù)據(jù)中的關鍵數(shù)據(jù),且所有關鍵數(shù)據(jù)的大小之和小于應用程序安裝包中的可執(zhí)行文件的大小,因此本實施例的技術方案中,僅需要從獲取的所有關鍵數(shù)據(jù)中提取應用程序安裝包的特征信息。與現(xiàn)有技術中的從整個可執(zhí)行文件中獲取應用程序安裝包的特征信息相比,本實施例的技術方案在實施時,能夠有效地減少內存占用空間,縮短提取應用程序安裝包的特征信息的時間,提高從應用程序安裝包中獲取特征信息的效率。需要說明的是上述實施例提供的應用程序安裝包的特征信息提取裝置在提取應用程序安裝包的特征信息時,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的應用程序安裝包的特征信息提取裝置與應用程序安裝包的特征信息提取的方法實施例屬于同一構思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。 上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。本領域普通技術人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于ー種計算機可讀存儲介質中,上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種應用程序安裝包的特征信息提取方法,其特征在于,所述方法包括 對應用程序安裝包中不大于一閾值的數(shù)據(jù)進行解壓縮; 對解壓縮得到的解壓縮數(shù)據(jù)進行分析,獲取包括所述應用程序安裝包的特征信息的關鍵數(shù)據(jù); 重復上述兩個步驟,直到對所述應用程序安裝包解壓縮完畢,獲取到所述應用程序安裝包中的所有關鍵數(shù)據(jù),對所述所有關鍵數(shù)據(jù)進行解析,從所述所有關鍵數(shù)據(jù)中提取所述應用程序安裝包的特征信息。
2.根據(jù)權利要求I所述的方法,其特征在于,所述閾值為一預設值或根據(jù)所述應用程序安裝包的大小進行確定。
3.根據(jù)權利要求1-2任一所述的方法,其特征在于,所述應用程序安裝包的特征信息包括類名、方法名和常量字符串中的至少一種。
4.一種應用程序安裝包的特征信息提取裝置,其特征在于,所述裝置包括 解壓縮模塊,用于對應用程序安裝包中不大于一閾值的數(shù)據(jù)進行解壓縮; 獲取模塊,用于對從所述解壓縮模塊解壓縮得到的解壓縮數(shù)據(jù)進行分析,獲取包括所述應用程序安裝包的特征信息的關鍵數(shù)據(jù); 控制模塊,用于控制所述解壓縮模塊和所述獲取模塊重復執(zhí)行相應操作,直到對所述應用程序安裝包解壓縮完畢,所述獲取模塊獲取到所述應用程序安裝包中的所有關鍵數(shù)據(jù); 提取模塊,用于對所述所有關鍵數(shù)據(jù)進行解析,從所述獲取模塊獲取到的所述所有關鍵數(shù)據(jù)中提取所述應用程序安裝包的特征信息。
5.根據(jù)權利要求4所述的裝置,其特征在于,所述裝置還包括閾值確定模塊 所述閾值確定模塊,用于預設所述閾值或者根據(jù)所述應用程序安裝包的大小確定所述閾值。
6.根據(jù)權利要求4或5所述的裝置,其特征在于,所述應用程序安裝包的特征信息包括類名、方法名和常量字符串中的至少一種。
7.—種apk文件中特征信息提取方法,其特征在于,其采用權利要求1-3任一所述的方法。
8.一種客戶端設備,其特征在于,在所述客戶端設備上包括如權利要求4-6任一所述的應用程序安裝包的特征信息提取裝置。
9.根據(jù)權利要求8所述的設備,其特征在于,所述客戶端設備包括移動終端。
10.根據(jù)權利要求8所述的設備,其特征在于,所述客戶端設備包括安裝安卓系統(tǒng)的移動終端。
全文摘要
本發(fā)明公開了一種應用程序安裝包的特征信息提取方法、裝置與客戶端設備,屬于安全技術領域。所述方法包括對應用程序安裝包中不大于閾值的數(shù)據(jù)進行解壓縮;對解壓縮得到的解壓縮數(shù)據(jù)進行分析,獲取包括所述應用程序安裝包的特征信息的關鍵數(shù)據(jù);重復上述兩個步驟,直到對所述應用程序安裝包解壓縮完畢,獲取到所述應用程序安裝包中的所有關鍵數(shù)據(jù);對所述所有關鍵數(shù)據(jù)進行解析從所述所有關鍵數(shù)據(jù)中提取所述應用程序安裝包的特征信息。通過采用本發(fā)明的技術方案,能夠有效地減少內存占用空間,縮短提取應用程序安裝包的特征信息的時間,提高從應用程序安裝包中獲取特征信息的效率。
文檔編號G06F17/30GK102789506SQ20121025054
公開日2012年11月21日 申請日期2012年7月19日 優(yōu)先權日2012年7月19日
發(fā)明者李偉, 韓景維 申請人:騰訊科技(深圳)有限公司