[發(fā)明專利]一種APK加固方法及裝置在審
| 申請(qǐng)?zhí)枺?/td> | 201710288386.4 | 申請(qǐng)日: | 2017-04-27 |
| 公開(公告)號(hào): | CN107122637A | 公開(公告)日: | 2017-09-01 |
| 發(fā)明(設(shè)計(jì))人: | 闞志剛;程顯龍;陳彪;方寧;盧佐華 | 申請(qǐng)(專利權(quán))人: | 北京洋浦偉業(yè)科技發(fā)展有限公司 |
| 主分類號(hào): | G06F21/14 | 分類號(hào): | G06F21/14 |
| 代理公司: | 北京國(guó)昊天誠(chéng)知識(shí)產(chǎn)權(quán)代理有限公司11315 | 代理人: | 南霆 |
| 地址: | 100083 北京市海*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 apk 加固 方法 裝置 | ||
技術(shù)領(lǐng)域
本申請(qǐng)涉及安全技術(shù)領(lǐng)域,尤其涉及一種APK加固方法及裝置。
背景技術(shù)
隨著安卓操作系統(tǒng)(Android)的快速發(fā)展,在安卓電子設(shè)備上的第三方應(yīng)用(Application,APP)也越來越多,比如安卓手機(jī)上的APP數(shù)量逐年增加。但是由于安卓操作系統(tǒng)自身開源的特點(diǎn),也產(chǎn)生了眾多的軟件逆向工具,通過這些軟件逆向工具能夠?qū)PP的安裝文件,即APK(Android Package,安卓壓縮包)進(jìn)行逆向分析,從而對(duì)APP的開發(fā)者和使用者造成危害。因此,如何對(duì)APK進(jìn)行加固從而防止逆向分析,是本申請(qǐng)實(shí)施例所需要解決的技術(shù)問題。
發(fā)明內(nèi)容
本申請(qǐng)實(shí)施例提供一種APK加固方法及裝置,能夠用于加固APK。
本申請(qǐng)實(shí)施例提供了一種APK加固方法,該方法包括:
將APK中的SO文件加載至內(nèi)存,其中所述SO文件中包括目標(biāo)函數(shù)的代碼;
對(duì)所述目標(biāo)函數(shù)的執(zhí)行狀態(tài)進(jìn)行監(jiān)控;
當(dāng)監(jiān)控到所述目標(biāo)函數(shù)執(zhí)行結(jié)束時(shí),將所述目標(biāo)函數(shù)的代碼從內(nèi)存中清除。
優(yōu)選地,在將APK中的SO文件加載至內(nèi)存之前,所述方法還包括:
將所述SO文件中的目標(biāo)函數(shù)的代碼通過對(duì)稱加密算法進(jìn)行加密;
將APK中的SO文件加載至內(nèi)存,具體包括:
將包含所述目標(biāo)函數(shù)加密后的代碼的SO文件加載至內(nèi)存,以便能夠通過所述對(duì)稱加密算法的逆算法對(duì)內(nèi)存中所述加密后的代碼進(jìn)行解密并獲取所述目標(biāo)函數(shù)加密前的代碼,用于執(zhí)行所述目標(biāo)函數(shù)。
優(yōu)選地,在將所述SO文件中的目標(biāo)函數(shù)的代碼通過對(duì)稱加密算法進(jìn)行加密之后,所述方法還包括:將解密密鑰保存在所述SO文件data section數(shù)據(jù)段中;
通過所述對(duì)稱加密算法的逆算法對(duì)內(nèi)存中所述加密后的代碼進(jìn)行解密,具體包括:
通過從所述SO文件data section數(shù)據(jù)段中提取解密密鑰以及所述對(duì)稱加密算法的逆算法對(duì)加密后的代碼進(jìn)行解密。
優(yōu)選地,所述對(duì)稱加密算法選自如下任意一種:
DES加密算法;3DES加密算法;RC2加密算法;RC4加密算法;RC5加密算法;Blowfish加密算法。
優(yōu)選地,將所述目標(biāo)函數(shù)的代碼從內(nèi)存中清除,具體為:
將所述代碼所加載的內(nèi)存地址進(jìn)行初始化;和/或,
清除所述代碼所加載的內(nèi)存地址的偏移地址信息。
本申請(qǐng)實(shí)施例還提供了一種APK加固裝置,該裝置包括:加載單元、監(jiān)控單元以及清除單元,其中:
所述加載單元,用于將APK中的SO文件加載至內(nèi)存,其中所述SO文件中包括目標(biāo)函數(shù)的代碼;
所述監(jiān)控單元,用于對(duì)所述目標(biāo)函數(shù)的執(zhí)行狀態(tài)進(jìn)行監(jiān)控;
所述清除單元,用于當(dāng)監(jiān)控到所述目標(biāo)函數(shù)執(zhí)行結(jié)束時(shí),將所述目標(biāo)函數(shù)的代碼從內(nèi)存中清除。
優(yōu)選地,在所述加載單元之前,所述裝置還包括加密單元,用于將所述SO文件中的目標(biāo)函數(shù)的代碼通過對(duì)稱加密算法進(jìn)行加密;
所述加載單元,用于將包含所述目標(biāo)函數(shù)加密后的代碼的SO文件加載至內(nèi)存,以便能夠通過所述對(duì)稱加密算法的逆算法對(duì)內(nèi)存中所述加密后的代碼進(jìn)行解密并獲取所述目標(biāo)函數(shù)加密前的代碼,用于執(zhí)行所述目標(biāo)函數(shù)。
優(yōu)選地,在所述加密單元和所述加載單元之間,所述裝置還包括保存單元,用于將解密密鑰保存在所述SO文件data section數(shù)據(jù)段中;
所述加載單元,用于將包含所述目標(biāo)函數(shù)加密后的代碼的SO文件加載至內(nèi)存,以便能夠通過從所述SO文件data section數(shù)據(jù)段中提取解密密鑰以及所述對(duì)稱加密算法的逆算法對(duì)加密后的代碼進(jìn)行解密并獲取所述目標(biāo)函數(shù)加密前的代碼,用于執(zhí)行所述目標(biāo)函數(shù)。
優(yōu)選地,所述對(duì)稱加密算法選自如下任意一種:
DES加密算法;3DES加密算法;RC2加密算法;RC4加密算法;RC5加密算法;Blowfish加密算法。
優(yōu)選地,將所述目標(biāo)函數(shù)的代碼從內(nèi)存中清除,具體為:
將所述代碼所加載的內(nèi)存地址進(jìn)行初始化;和/或,
清除所述代碼所加載的內(nèi)存地址的偏移地址信息。
本申請(qǐng)實(shí)施例采用的上述至少一個(gè)技術(shù)方案能夠達(dá)到以下有益效果:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京洋浦偉業(yè)科技發(fā)展有限公司,未經(jīng)北京洋浦偉業(yè)科技發(fā)展有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710288386.4/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過限制訪問或處理程序或過程
- 一種數(shù)據(jù)庫(kù)讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





