System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及應用程序數據處理領域,具體是一種熱更新實時檢測方法及裝置。
技術介紹
1、隨著移動終端產業的發展,應用程序(application,簡稱app)成為產業鏈中至關重要的一環。應用程序使用戶能夠及時地體驗到軟件開發者推出的新功能。然而,在應用程序的使用過程中,難免會出現各式各樣的缺陷或漏洞。常見的修復方式是推送更新包,讓用戶下載安裝。但當發現嚴重的缺陷或漏洞需要緊急修復時,開發者往往會選擇熱更新的方式來進行應用程序的在線修復與更新。
2、目前,常用的熱更新技術方案包括資源修復、代碼修復及動態庫修復。各類技術方案實現原理不同,適用于不同的熱更新場景。然而,熱更新的修復方式雖然滿足急迫修復漏洞的需求,但其無需用戶確認、安裝即可完成應用程序更新的行為,也給用戶帶來了很大的安全隱患。如果被惡意開發者利用,會對移動互聯網行業生態的健康發展構成嚴重威脅,亟需一種對熱更新行為進行檢測的方法及裝置。
技術實現思路
1、針對現有技術中的問題,本申請提供一種熱更新實時檢測方法及裝置,能夠對應用程序的熱更新行為進行快速且有針對性的檢測。
2、為解決上述技術問題,本申請提供以下技術方案:
3、第一方面,本申請提供一種熱更新實時檢測方法,包括:
4、對待檢測的應用程序安裝包進行靜態分析,確定應用程序的熱更新框架;
5、根據所述熱更新框架確定對所述應用程序的熱更新行為進行檢測的檢測項;
6、按照所述檢測項對比所述應用程序進行熱更新前
7、進一步地,所述對待檢測的應用程序安裝包進行靜態分析,確定應用程序的熱更新框架,包括:
8、對所述待檢測的應用程序安裝包進行靜態分析,得到靜態分析信息;其中,所述靜態分析信息包括基本信息、基本組件及原生庫;
9、根據所述靜態分析信息確定對應的熱更新框架。
10、進一步地,所述熱更新框架包括代碼修復框架、資源修復框架、動態庫修復框架及組合修復框架;所述根據所述熱更新框架確定對所述應用程序的熱更新行為進行檢測的檢測項,包括:
11、若所述熱更新框架為所述代碼修復框架,確定所述檢測項為可執行文件;
12、若所述熱更新框架為所述資源修復框架,確定所述檢測項為資源文件;
13、若所述熱更新框架為所述動態庫修復框架,確定所述檢測項為庫文件;
14、若所述熱更新框架為所述組合修復框架,確定所述檢測項為可執行文件、資源文件及庫文件。
15、進一步地,所述差異包括文件夾差異;所述文件夾中的文件包括所述可執行文件、資源文件及庫文件;所述按照所述檢測項對比所述應用程序進行熱更新前后的差異并輸出,包括:
16、分別將更新前后的文件夾對應的內容轉換為字符序列;其中,更新前的文件夾對應第一字符序列;更新后的文件夾對應第二字符序列;
17、比對所述第一字符序列與所述第二字符序列,得到文件夾比對數組;
18、根據所述文件夾比對數組回溯出第一最長公共子序列;
19、根據所述第一最長公共子序列的內容與位置確定文件夾熱更新前后的差異。
20、進一步地,所述差異包括文件差異;所述文件包括所述可執行文件、資源文件及庫文件;所述按照所述檢測項對比所述應用程序進行熱更新前后的差異并輸出,包括:
21、分別將更新前后的文件對應的內容轉換為字符序列;其中,更新前的文件對應第三字符序列;更新后的文件對應第四字符序列;
22、比對所述第三字符序列與所述第四字符序列,得到文件比對數組;
23、根據所述文件比對數組回溯出第二最長公共子序列;
24、根據所述第二最長公共子序列的內容與位置確定文件熱更新前后的差異。
25、進一步地,所述差異包括相似度差異;所述按照所述檢測項對比所述應用程序進行熱更新前后的差異并輸出,包括:
26、分別確定所述第三字符序列與所述第四字符序列的長度;
27、根據所述第二最長公共子序列的長度、所述第三字符序列的長度及所述第四字符序列的長度確定所述相似度差異。
28、第二方面,本申請提供一種熱更新實時檢測裝置,包括:
29、更新框架確定單元,用于對待檢測的應用程序安裝包進行靜態分析,確定應用程序的熱更新框架;
30、檢測項確定單元,用于根據所述熱更新框架確定對所述應用程序的熱更新行為進行檢測的檢測項;
31、差異輸出單元,用于按照所述檢測項對比所述應用程序進行熱更新前后的差異并輸出。
32、進一步地,所述更新框架確定單元,包括:
33、靜態分析模塊,用于對所述待檢測的應用程序安裝包進行靜態分析,得到靜態分析信息;其中,所述靜態分析信息包括基本信息、基本組件及原生庫;
34、更新框架確定模塊,用于根據所述靜態分析信息確定對應的熱更新框架。
35、進一步地,所述熱更新框架包括代碼修復框架、資源修復框架、動態庫修復框架及組合修復框架;所述檢測項確定單元,包括:
36、執行文件確定模塊,用于若所述熱更新框架為所述代碼修復框架,確定所述檢測項為可執行文件;
37、資源文件確定模塊,用于若所述熱更新框架為所述資源修復框架,確定所述檢測項為資源文件;
38、庫文件確定模塊,用于若所述熱更新框架為所述動態庫修復框架,確定所述檢測項為庫文件;
39、組合文件確定模塊,用于若所述熱更新框架為所述組合修復框架,確定所述檢測項為可執行文件、資源文件及庫文件。
40、進一步地,所述差異包括文件夾差異;所述文件夾中的文件包括所述可執行文件、資源文件及庫文件;所述差異輸出單元,包括:
41、第一字符轉換模塊,用于分別將更新前后的文件夾對應的內容轉換為字符序列;其中,更新前的文件夾對應第一字符序列;更新后的文件夾對應第二字符序列;
42、第一字符比對模塊,用于比對所述第一字符序列與所述第二字符序列,得到文件夾比對數組;
43、第一序列回溯模塊,用于根據所述文件夾比對數組回溯出第一最長公共子序列;
44、第一差異確定模塊,用于根據所述第一最長公共子序列的內容與位置確定文件夾熱更新前后的差異。
45、進一步地,所述差異包括文件差異;所述文件包括所述可執行文件、資源文件及庫文件;所述差異輸出單元,包括:
46、第二字符轉換模塊,用于分別將更新前后的文件對應的內容轉換為字符序列;其中,更新前的文件對應第三字符序列;更新后的文件對應第四字符序列;
47、第二字符比對模塊,用于比對所述第三字符序列與所述第四字符序列,得到文件比對數組;
48、第二序列回溯模塊,用于根據所述文件比對數組回溯出第二最長公共子序列;
49、第二差異確定模塊,用于根據所述第二最長公共子序列的內容與位置確定文件熱本文檔來自技高網...
【技術保護點】
1.一種熱更新實時檢測方法,其特征在于,包括:
2.根據權利要求1所述的熱更新實時檢測方法,其特征在于,所述對待檢測的應用程序安裝包進行靜態分析,確定應用程序的熱更新框架,包括:
3.根據權利要求1所述的熱更新實時檢測方法,其特征在于,所述熱更新框架包括代碼修復框架、資源修復框架、動態庫修復框架及組合修復框架;所述根據所述熱更新框架確定對所述應用程序的熱更新行為進行檢測的檢測項,包括:
4.根據權利要求3所述的熱更新實時檢測方法,其特征在于,所述差異包括文件夾差異;所述文件夾中的文件包括所述可執行文件、資源文件及庫文件;所述按照所述檢測項對比所述應用程序進行熱更新前后的差異并輸出,包括:
5.根據權利要求3所述的熱更新實時檢測方法,其特征在于,所述差異包括文件差異;所述文件包括所述可執行文件、資源文件及庫文件;所述按照所述檢測項對比所述應用程序進行熱更新前后的差異并輸出,包括:
6.根據權利要求5所述的熱更新實時檢測方法,其特征在于,所述差異包括相似度差異;所述按照所述檢測項對比所述應用程序進行熱更新前后的差異并輸出,包
7.一種熱更新實時檢測裝置,其特征在于,包括:
8.根據權利要求7所述的熱更新實時檢測裝置,其特征在于,所述更新框架確定單元,包括:
9.根據權利要求7所述的熱更新實時檢測裝置,其特征在于,所述熱更新框架包括代碼修復框架、資源修復框架、動態庫修復框架及組合修復框架;所述檢測項確定單元,包括:
10.根據權利要求9所述的熱更新實時檢測裝置,其特征在于,所述差異包括文件夾差異;所述文件夾中的文件包括所述可執行文件、資源文件及庫文件;所述差異輸出單元,包括:
11.根據權利要求9所述的熱更新實時檢測裝置,其特征在于,所述差異包括文件差異;所述文件包括所述可執行文件、資源文件及庫文件;所述差異輸出單元,包括:
12.根據權利要求11所述的熱更新實時檢測裝置,其特征在于,所述差異包括相似度差異;所述差異輸出單元,包括:
13.一種電子設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,其特征在于,所述處理器執行所述程序時實現權利要求1至6任一項所述的熱更新實時檢測方法的步驟。
14.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,該計算機程序被處理器執行時實現權利要求1至6任一項所述的熱更新實時檢測方法的步驟。
15.一種計算機程序產品,包括計算機程序/指令,其特征在于,該計算機程序/指令被處理器執行時實現權利要求1至6任一項所述的熱更新實時檢測方法的步驟。
...【技術特征摘要】
1.一種熱更新實時檢測方法,其特征在于,包括:
2.根據權利要求1所述的熱更新實時檢測方法,其特征在于,所述對待檢測的應用程序安裝包進行靜態分析,確定應用程序的熱更新框架,包括:
3.根據權利要求1所述的熱更新實時檢測方法,其特征在于,所述熱更新框架包括代碼修復框架、資源修復框架、動態庫修復框架及組合修復框架;所述根據所述熱更新框架確定對所述應用程序的熱更新行為進行檢測的檢測項,包括:
4.根據權利要求3所述的熱更新實時檢測方法,其特征在于,所述差異包括文件夾差異;所述文件夾中的文件包括所述可執行文件、資源文件及庫文件;所述按照所述檢測項對比所述應用程序進行熱更新前后的差異并輸出,包括:
5.根據權利要求3所述的熱更新實時檢測方法,其特征在于,所述差異包括文件差異;所述文件包括所述可執行文件、資源文件及庫文件;所述按照所述檢測項對比所述應用程序進行熱更新前后的差異并輸出,包括:
6.根據權利要求5所述的熱更新實時檢測方法,其特征在于,所述差異包括相似度差異;所述按照所述檢測項對比所述應用程序進行熱更新前后的差異并輸出,包括:
7.一種熱更新實時檢測裝置,其特征在于,包括:
8.根據權利要求7所述的熱更新實時檢測裝置,其特征在于,所述更新框架確定單元,包...
【專利技術屬性】
技術研發人員:傅山,宋愷,王嘉義,魏凡星,劉陶,王艷紅,李京典,周飛,
申請(專利權)人:中國信息通信研究院,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。