欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種應(yīng)用程序安裝包的處理方法、裝置及移動設(shè)備的制作方法

文檔序號:6635933閱讀:232來源:國知局
一種應(yīng)用程序安裝包的處理方法、裝置及移動設(shè)備的制作方法
【專利摘要】本發(fā)明是關(guān)于一種應(yīng)用程序安裝包的處理方法、裝置及移動設(shè)備。其中,所述方法包括:獲取應(yīng)用程序安裝包中的可執(zhí)行文件;反編譯所述可執(zhí)行文件,得到中間文件;在所述中間文件中植入功能代碼;將植入有所述功能代碼的所述中間文件重新編譯并重新打包為新的可執(zhí)行文件;將所述應(yīng)用程序安裝包中的所述可執(zhí)行文件替換為所述新的可執(zhí)行文件。本發(fā)明實施例提供的技術(shù)方案增加了可執(zhí)行文件防護的靈活度,提高了軟件安裝包的安全性。
【專利說明】一種應(yīng)用程序安裝包的處理方法、裝置及移動設(shè)備

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及一種計算機領(lǐng)域,特別是涉及一種應(yīng)用程序安裝包的處理方法、裝置 及移動設(shè)備。

【背景技術(shù)】
[0002] 隨著移動互聯(lián)網(wǎng)的快速發(fā)展和廣泛普及,移動終端正朝著智能化的方向不斷邁 進。安卓(Android)系統(tǒng)已經(jīng)逐漸成為移動終端中最普及的操作系統(tǒng)。與其他操作系統(tǒng)相 比,安卓系統(tǒng)為應(yīng)用開發(fā)者提供了更多的功能接口(其中很多是系統(tǒng)底層接口),提高了系 統(tǒng)的可擴展性。由于安卓系統(tǒng)的開放性,用戶不僅能從谷歌官方市場上下載和安裝應(yīng)用,也 可以從任意的第三方市場甚至網(wǎng)站和論壇下載和安裝應(yīng)用。同時,應(yīng)用的開發(fā)者可以將應(yīng) 用提交到任意第三方市場來供用戶下載。
[0003] 其中,應(yīng)用程序安裝包中的DEX(Class,dex)文件是Android系統(tǒng)中可以在Dalvik 虛擬機上直接運行的文件格式。DEX文件如果未做好保護,黑客通過反編譯可讓源碼完全暴 露,利用閱讀原碼來找到APP設(shè)計流程,通過對程序流程的了解很容易對程序進行盜版、惡 意篡改、惡意代碼注入等危險行為。
[0004] 針對上述問題,現(xiàn)有技術(shù)中出現(xiàn)了如下解決方案:首先加密原程序包的dex文件, 解析原程序包配置文件manifest,xml,提取組件信息生成代理的dex文件;程序執(zhí)行時,需 要解密原程序dex文件,并使用加固中編譯的優(yōu)化工具將其鏡像到內(nèi)存?,F(xiàn)有技術(shù)中優(yōu)化 工具和原程序包是完全分離的,雖然原程序包為加密文件,但是需要一次性還原dex文件, 所以可以通過內(nèi)存截取進行程序破解,而且優(yōu)化工具也可以通過對UPX源代碼修改進行脫 殼。顯然,現(xiàn)有解決方案對應(yīng)用程序安裝包的加固保護效果非常有限。


【發(fā)明內(nèi)容】

[0005] 鑒于上述問題,提出了本發(fā)明以便于提供一種克服上述問題或者至少部分地解決 上述問題的應(yīng)用程序安裝包的處理方法及裝置。
[0006] 依據(jù)本發(fā)明的第一個方面,提供了一種應(yīng)用程序安裝包的處理方法,包括:
[0007] 獲取應(yīng)用程序安裝包中的可執(zhí)行文件;
[0008] 反編譯所述可執(zhí)行文件,得到中間文件;
[0009] 在所述中間文件中植入功能代碼;
[0010] 將植入有所述功能代碼的所述中間文件重新編譯并重新打包為新的可執(zhí)行文 件;
[0011] 將所述應(yīng)用程序安裝包中的所述可執(zhí)行文件替換為所述新的可執(zhí)行文件。
[0012] 依據(jù)本發(fā)明的第二個方面,提供了一種應(yīng)用程序安裝包的處理裝置,包括:
[0013] 獲取模塊,用于獲取應(yīng)用程序安裝包中的可執(zhí)行文件;
[0014] 反編譯模塊,用于反編譯所述可執(zhí)行文件,得到中間文件;
[0015] 植入模塊,用于在所述中間文件中植入功能代碼;
[0016] 重編譯模塊,用于將植入有所述功能代碼的所述中間文件重新編譯并重新打包為 新的可執(zhí)行文件;
[0017] 替換模塊,用于將所述應(yīng)用程序安裝包中的所述可執(zhí)行文件替換為所述新的可執(zhí) 行文件。
[0018] 依據(jù)本發(fā)明的第三個方面,提供了一種移動設(shè)備,其包括應(yīng)用程序安裝包的處理 裝置;所述應(yīng)用程序安裝包的處理裝置,包括:
[0019] 獲取模塊,用于獲取應(yīng)用程序安裝包中的可執(zhí)行文件;
[0020] 反編譯模塊,用于反編譯所述可執(zhí)行文件,得到中間文件;
[0021] 植入模塊,用于在所述中間文件中植入功能代碼;
[0022] 重編譯模塊,用于將植入有所述功能代碼的所述中間文件重新編譯并重新打包為 新的可執(zhí)行文件;
[0023] 替換模塊,用于將所述應(yīng)用程序安裝包中的所述可執(zhí)行文件替換為所述新的可執(zhí) 行文件。
[0024] 借由上述技術(shù)方案,本發(fā)明實施例提供的技術(shù)方案至少具有下列優(yōu)點:
[0025] 本發(fā)明實施例提供的技術(shù)方案通過在應(yīng)用程序安裝包的可執(zhí)行文件中直接植入 功能代碼,并使用植入有功能代碼后的可執(zhí)行文件替換掉原安裝包中的可執(zhí)行文件,實現(xiàn) 了對已有安裝包中可執(zhí)行文件的重構(gòu),從而在程序運行時,通過執(zhí)行植入的功能代碼來對 可執(zhí)行文件進行安全保護處理,增加了可執(zhí)行文件防護的靈活度,進而提高了軟件安裝包 的安全性。
[0026] 上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段, 并可依照說明書的內(nèi)容予以實施,以下以本發(fā)明的較佳實施例并配合附圖詳細說明如后。

【專利附圖】

【附圖說明】
[0027] 通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通 技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明 的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0028] 圖1示出了本發(fā)明實施例一提供的所述應(yīng)用程序安裝包的處理方法的一種實現(xiàn) 的流程示意圖;
[0029] 圖2示出了本發(fā)明實施例一提供的所述應(yīng)用程序安裝包的處理方法的另一種實 現(xiàn)的流程示意圖;
[0030] 圖3示出了本實施例二提供的一種應(yīng)用程序安裝包的處理裝置的結(jié)構(gòu)示意圖;
[0031] 圖4示出了本發(fā)明實施例三提供的移動設(shè)備的實現(xiàn)結(jié)構(gòu)示意圖。

【具體實施方式】
[0032] 為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例 中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是 本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員 在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0033] 如圖1所示,本發(fā)明實施例一提供的所述應(yīng)用程序安裝包的處理方法的流程示意 圖。本實施例一提供的所述方法的執(zhí)行主體可以是配置于服務(wù)端的應(yīng)用程序安裝包的處理 裝置,該裝置可具體表征為具有本實施例提供的所述方法的服務(wù)器。對應(yīng)的,用戶端可配置 有客戶端加固應(yīng)用。用戶可通過用戶端的加固應(yīng)用提供的交互平臺,向所述服務(wù)端的加固 應(yīng)用上傳待處理的應(yīng)用程序安裝包。服務(wù)端的加固應(yīng)用可采用本實施例一提供的所述方法 對所述應(yīng)用程序安裝包進行處理。
[0034] 具體的,如圖1所示,本實施例一提供的所述方法,包括:
[0035] 步驟101、獲取應(yīng)用程序安裝包中的可執(zhí)行文件。
[0036] 本實施例可應(yīng)用于Android系統(tǒng),即所述應(yīng)用程序安裝包可以是基于安卓 (Android)平臺的應(yīng)用程序安裝包(APK)。在Android系統(tǒng)上,一個可以安裝、運行的應(yīng)用, 需要打包成Android系統(tǒng)的APK文件格式。APK是Androidapplicationpackagefile 的縮寫,簡稱APK文件,S卩Android安裝包,也可以理解為Android終端上安裝的應(yīng)用軟件。 APK文件其實是ZIP文件格式,但后綴名被修改為apk。具體的可使用Apktool對APK進行 解包,解包后可以看到APK文件內(nèi)部的文件結(jié)構(gòu),如表1所示:
[0037] 表UAPK安裝包中包含的文件
[0038]

【權(quán)利要求】
1. 一種應(yīng)用程序安裝包的處理方法,其特征在于,包括: 獲取應(yīng)用程序安裝包中的可執(zhí)行文件; 反編譯所述可執(zhí)行文件,得到中間文件; 在所述中間文件中植入功能代碼; 將植入有所述功能代碼的所述中間文件重新編譯并重新打包為新的可執(zhí)行文件; 將所述應(yīng)用程序安裝包中的所述可執(zhí)行文件替換為所述新的可執(zhí)行文件。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述應(yīng)用程序安裝包為基于安卓平臺的 應(yīng)用程序安裝包;所述可執(zhí)行文件為dex文件;所述中間文件為Smali文件。
3. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述在所述中間文件中植入功能代碼,包 括: 將所述功能代碼反編譯成Smali代碼; 獲取植入位置; 在所述中間文件中的所述植入位置處插入所述Smali代碼。
4. 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述功能代碼為用于對所述可執(zhí)行文件 進行加殼和解殼的加固代碼,則所述方法,還包括: 獲取應(yīng)用程序安裝包中的配置文件; 根據(jù)植入的所述功能代碼的入口點修改所述配置文件中的相應(yīng)參數(shù),以使新的所述可 執(zhí)行文件從所述功能程序啟動。
5. 根據(jù)權(quán)利要求1?4中任一項所述的方法,其特征在于,還包括: 對替換后的所述應(yīng)用程序安裝包進行簽名。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于,所述對替換后的所述應(yīng)用程序安裝包進 行簽名,包括: 向用戶終端發(fā)送所述替換后的所述應(yīng)用程序安裝包,由用戶使用其身份標識對所述替 換后的所述應(yīng)用程序安裝包進行簽名;或者 接收用戶終端上傳的身份標識,并根據(jù)身份標識對所述替換后的所述應(yīng)用程序安裝包 進行簽名。
7. -種應(yīng)用程序安裝包的處理裝置,其特征在于,包括: 獲取模塊,用于獲取應(yīng)用程序安裝包中的可執(zhí)行文件; 反編譯模塊,用于反編譯所述可執(zhí)行文件,得到中間文件; 植入模塊,用于在所述中間文件中植入功能代碼; 重編譯模塊,用于將植入有所述功能代碼的所述中間文件重新編譯并重新打包為新的 可執(zhí)行文件; 替換模塊,用于將所述應(yīng)用程序安裝包中的所述可執(zhí)行文件替換為所述新的可執(zhí)行文 件。
8. 根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述應(yīng)用程序安裝包為基于安卓平臺的 應(yīng)用程序安裝包;所述可執(zhí)行文件為dex文件;所述中間文件為Smali文件; 相應(yīng)的,所述植入模塊,包括: 反編譯單元,用于將所述功能代碼反編譯成Smali代碼; 獲取單元,用于獲取植入位置; 插入單元,用于在所述中間文件中的所述植入位置處插入所述Smal i代碼。
9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述功能代碼為用于對所述可執(zhí)行文件 進行加殼和解殼的加固代碼,則所述裝置,還包括: 所述獲取模塊,還用于獲取應(yīng)用程序安裝包中的配置文件; 修改模塊,用于根據(jù)植入的所述功能代碼的入口點修改所述配置文件中的相應(yīng)參數(shù), 以使新的所述可執(zhí)行文件從所述功能程序啟動。
10. -種移動設(shè)備,其特征在于,包括上述權(quán)利要求7?9中任一項所述的應(yīng)用程序安 裝包的處理裝置。
【文檔編號】G06F21/12GK104484585SQ201410693917
【公開日】2015年4月1日 申請日期:2014年11月26日 優(yōu)先權(quán)日:2014年11月26日
【發(fā)明者】劉敏, 霍亮, 楊柳春, 施華國 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
稻城县| 简阳市| 临桂县| 宁海县| 恩平市| 湖南省| 台北市| 老河口市| 泾川县| 葫芦岛市| 陆河县| 昌邑市| 无棣县| 黑龙江省| 栖霞市| 武平县| 鄂托克旗| 罗甸县| 建阳市| 六枝特区| 湛江市| 西盟| 富阳市| 毕节市| 阿荣旗| 东阿县| 麻江县| 房山区| 东至县| 化州市| 克山县| 宿松县| 石城县| 景宁| 马边| 华蓥市| 神池县| 武穴市| 晋宁县| 罗甸县| 汝城县|