[發明專利]一種Android系統的應用程序的加固方法有效
| 申請號: | 201610034627.8 | 申請日: | 2016-01-19 |
| 公開(公告)號: | CN105426708B | 公開(公告)日: | 2018-08-21 |
| 發明(設計)人: | 文偉平 | 申請(專利權)人: | 北京鼎源科技有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 北京萬象新悅知識產權代理事務所(普通合伙) 11360 | 代理人: | 張肖琪 |
| 地址: | 100086 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 android 系統 應用程序 加固 方法 | ||
1.一種Android系統的應用程序的加固方法,通過二進制流加密方法對Android應用程序中的關鍵代碼進行加固,使得Android應用程序代碼得到保護;所述加固方法包括加密過程和解密過程,具體包括如下步驟:
A.針對需要保護的Android應用程序,對關鍵代碼進行加密,執行如下操作:
A1.首先對需要保護的Android應用程序解壓,獲得Android應用程序中的classes.dex文件,對所述classes.dex文件進行解析;
A2.設定需要加密的特定類的關鍵方法,定位到需要加密的特定類的關鍵方法;所述設定需要加密的特定類的關鍵方法,具體包括重要算法方法、驗證登陸方法、系統關鍵流程方法中的一個或多個;
A3.設定密鑰key1,使用密鑰key1對步驟A2所述關鍵方法的指令進行第一次加密,得到第一次加密后的中間數據;
A4.設定密鑰key2,使用密鑰key2對步驟A3所述中間數據進行第二次加密;
A5.將二次加密后得到數據更新到dex文件中,得到新的dex文件;
A6.計算步驟A5所述新的dex文件的Hash值,該Hash值用于校驗dex的完整性;對Hash值進行加密后存入到so文件中;
A7.對于步驟A5所述新的dex文件,重新計算得到checksum和signature的值,更新dex文件;
A8.壓縮重新生成apk,即完成加密過程;所述重新生成的apk中包含關鍵代碼加密的dex文件和包含解密和dex校驗信息的so文件;
B.開始執行Android應用程序時,對加密的Android應用程序進行解密得到關鍵代碼,執行如下操作:
B1.Android應用程序被載入內存后,執行so文件中的程序;
B2.在內存中找到dex文件;
B3.對于得到的dex文件,計算dex文件的Hash值,然后對Hash進行加密,得到加密后的Hash值;
B4.將步驟B3所述加密后的Hash值和步驟A6所述so文件中保存的值進行比較;如果一致,則執行步驟B5,否則返回錯誤碼,程序停止運行;
B5.執行關鍵代碼時,從so文件中取得密鑰key2,對關鍵代碼進行解密,得到中間代碼;
B6.針對步驟B5得到的中間代碼,從so文件中取得密鑰key1,進行第二次解密,得到最終的關鍵代碼;
B7.進行關鍵代碼的方法調用。
2.如權利要求1所述Android系統的應用程序的加固方法,其特征是,步驟A3所述第一次加密或步驟A4所述第二次加密均可采用AES加密方法,所述AES加密方法包括采用自行編寫的AES加密程序或使用AES的加密工具。
3.如權利要求1所述Android系統的應用程序的加固方法,其特征是,步驟A6所述加密為MD5加密方法。
4.如權利要求1所述Android系統的應用程序的加固方法,其特征是,步驟B1所述執行so文件中的程序,具體為通過JNI調用機制調用so文件中的方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京鼎源科技有限公司,未經北京鼎源科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610034627.8/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種圖片加密的方法及裝置
- 下一篇:一種指令級密碼算法識別方法和系統





