[發明專利]一種基于AES算法的Android應用程序Native層殼加密方法在審
| 申請號: | 201810210444.6 | 申請日: | 2018-03-14 |
| 公開(公告)號: | CN108537010A | 公開(公告)日: | 2018-09-14 |
| 發明(設計)人: | 余敬龍 | 申請(專利權)人: | 廣東能龍教育股份有限公司 |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12;G06F21/14 |
| 代理公司: | 廣州嘉權專利商標事務所有限公司 44205 | 代理人: | 伍傳松 |
| 地址: | 528403 廣東省中山市*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 加密 安裝包 累加 文件頭信息 合并文件 加密工具 配置文件 修改文件 資源文件 頭信息 末尾 脫殼 抽取 存儲 合并 分析 | ||
1.一種基于AES算法的Android應用程序Native層殼加密方法,其特征在于:包括以下步驟
(A)加密源Apk安裝包:在Pc端使用Apk殼加密工具分析源Apk安裝包并抽取所有Native層代碼,并將Native層代碼、資源文件和配置文件使用AES算法加密,然后存儲在臨時Dex文件;
(B)合并文件:將加密之后的臨時Dex文件和脫殼Dex文件進行合并,生成最終的Dex文件;
(C)累加長度:在最終Dex文件的末尾累加源Apk安裝包的長度;
(D)修改文件頭信息:修改最終Dex文件的文件頭信息,最終生成已加密的Apk安裝包。
2.根據權利要求1所述的一種基于AES算法的Android應用程序Native層殼加密方法,其特征在于:所述步驟(A)根據密鑰V使用AES算法加密Native層代碼所包括的功能函數,重命名和混淆Native層代碼的關鍵邏輯代碼;對資源文件和配置文件分別分配唯一MD5標識符;然后再將處理后的功能函數、關鍵邏輯代碼、資源文件和配置文件合并轉換成二進制流,記錄源Apk安裝包的長度,使用AES算法進行二次加密操作,二次加密后的二進制流存儲在臨時Dex文件。
3.根據權利要求1所述的一種基于AES算法的Android應用程序Native層殼加密方法,其特征在于,所述步驟(B)的脫殼Dex是程序運行時用于解密源Apk安裝包,即Android系統運行Apk時,默認先加載外層殼NLDex,先由它解殼,再返回給Android系統運行。
4.根據權利要求2所述的一種基于AES算法的Android應用程序Native層殼加密方法,其特征在于,還包括程序運行后脫殼Dex解密步驟:
(A1)加載脫殼Dex:程序啟動后,Android系統會默認執行程序的onCreate方法,然后加載脫殼NLDex;
(B1)初始化頭信息:脫殼Dex初始化頭信息;
(C1)AES解密源Apk:從脫殼Dex中根據頭信息找到源Apk,轉換成二進制流,根據密鑰V進行AES解密操作;根據MD5標識符還原所有的資源文件和配置文件,最后對于Native層代碼進行二次AES解密;
(D1)返回源程序:返回解密后的程序,Android系統加載運行程序。
5.根據權利要求1所述的一種基于AES算法的Android應用程序Native層殼加密方法,其特征在于:所述文件頭信息為File_size、Sha1或Check_sum。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣東能龍教育股份有限公司,未經廣東能龍教育股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810210444.6/1.html,轉載請聲明來源鉆瓜專利網。





