[發明專利]防止應用程序被逆向工程的加密方法在審
| 申請號: | 202010783144.4 | 申請日: | 2020-08-06 |
| 公開(公告)號: | CN112084469A | 公開(公告)日: | 2020-12-15 |
| 發明(設計)人: | 蔣杰文;潘葉江 | 申請(專利權)人: | 華帝股份有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14;G06F21/60 |
| 代理公司: | 深圳市合道英聯專利事務所(普通合伙) 44309 | 代理人: | 廉紅果 |
| 地址: | 528400 廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 防止 應用程序 逆向 工程 加密 方法 | ||
本發明公開了防止應用程序被逆向工程的加密方法,包括如下步驟:將應用程序對應的安裝包文件進行二進制讀取得到二進制安裝包文件和外殼dex文件;對二進制安裝包文件內容進行加密后得到加密后dex文件;將外殼dex文件與加密后dex文件合并成新的dex文件;對新的dex文件重新打包獲得加密后的安裝包文件。本發明的防止應用程序被逆向工程的加密方法,首先對安裝包文件進行二進制解釋,然后對二進制安裝包文件字節碼進行獨有的加密算法,最后再增加一層加密算法的外殼,因此保護了安裝包文件里的核心代碼算法,防止安裝包文件被二次打包,解密算法只有自己擁有,增大破解的難度。對于用戶來說,這是無感知的,不影響用戶的正常使用。
技術領域
本發明屬于加密技術領域,具體涉及一種防止應用程序被逆向工程的加密方法。
背景技術
如今Android(安卓)手機已是全球范圍內占有市場份額最多的手機,而手機上的App更是超過了1000萬個,可以說一個手機App的是否安全直接影響到用戶的使用。逆向工程,就是將已經打包好的Andorid App(應用程序)還原成dex文件(被編譯的代碼文件)和res文件(文件資源),再將dex文件轉化為jar文件,然后使用可視化代碼工具進行代碼的修改,此時便可以對Andorid App進行廣告植入、界面修改、重新二次打包等操作。
雖然Android官方有配置特定的規則寫入文件,對生產的apk包(Android應用程序包)和jar包進行基礎加密,但是在市面上有各式各樣的逆向工程Andorid App軟件(例如Android逆向助手,安卓修改大師等),輕而易舉就能將Andorid App的源碼逆向工程出來,而且Android是基于java語言的,java語言的逆向工程工具更是數不勝數,基本能做到100%反編譯,導致Andorid App被盜用、篡改、調試等。
發明內容
為了解決上述問題,本發明提供一種防止應用程序被逆向工程的加密方法,首先對安裝包文件進行二進制解釋,然后對二進制安裝包文件字節碼進行獨有的加密算法,最后再增加一層加密算法的外殼,在一定程度上保護了安裝包文件里的核心代碼算法,防止安裝包文件被二次打包。
本發明所采用的技術方案是:
一種防止應用程序被逆向工程的加密方法,包括如下步驟:
S1、將應用程序對應的安裝包文件進行二進制讀取得到二進制安裝包文件以及外殼dex文件;
S2、對所述二進制安裝包文件內容進行加密后得到加密后dex文件;
S3、將所述外殼dex文件與加密后dex文件合并成新的dex文件;
S4、對所述新的dex文件重新打包獲得加密后的安裝包文件。
優選地,所述S2具體包括如下步驟:
S21、將所述二進制安裝包文件內的每一個字節通過加密算法加密得到加密后dex文件;
S22、將所述加密后dex文件進行二進制讀取得到讀取長度,并在讀取長度末尾加空白字節,得到帶有空白字節的加密后dex文件。
優選地,所述S3具體為:將所述外殼dex文件添加到帶有空白字節的加密后dex文件末尾的空白字節內,進而合并成新的dex文件。
優選地,所述S21具體包括如下步驟:
S211、將二進制安裝包文件內的每一個字節通過異或運算得到對應的加密代碼;
S212、將所述加密代碼再進行Base64編碼得到加密后dex文件。
優選地,所述空白字節的長度為4個字節。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華帝股份有限公司,未經華帝股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010783144.4/2.html,轉載請聲明來源鉆瓜專利網。





