[發明專利]一種Jar包加固方法及系統有效
| 申請號: | 201611221340.2 | 申請日: | 2016-12-26 |
| 公開(公告)號: | CN106845169B | 公開(公告)日: | 2023-04-07 |
| 發明(設計)人: | 宮亞明 | 申請(專利權)人: | 北京握奇智能科技有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 北京天悅專利代理事務所(普通合伙) 11311 | 代理人: | 田明;文永明 |
| 地址: | 100102 北京市朝陽區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 jar 加固 方法 系統 | ||
本發明涉及一種Jar包加固方法及系統,所述方法包括如下步驟:加密Jar包文件并向Android項目提供加密后的Jar包以及解密動態庫;Android項目使用解密動態庫解密Jar包文件;Android項目調用解密后的Jar包文件;Android項目刪除解密后的Jar包文件和從該Jar包文件中釋放出的DEX文件。本發明在Jar包文件提供給Android項目使用之前,需要先對其進行加密。把加密后的Jar包文件和用于解密的動態庫提供給Android項目使用。由于本發明包括密鑰提取、Jar包加密、Native動態庫解密以及解密完成后清除文件,因此提高了Jar包逆向的難度,保護Android中Jar包文件,增強其安全性,降低了Jar包源代碼被逆向獲取的風險。
技術領域
本發明屬于計算機安全防護技術領域,具體涉及一種Android項目中使用Native編程實現的一種Jar包的加固方法及系統。
背景技術
由于Java是一種跨平臺的編程語言,其源碼(.java文件)被編譯成與平臺無關的字節碼(.class文件),然后在運行期動態鏈接。這樣,編譯后的類文件中將包含有符號表,從而使得Java程序很容易被反編譯,從而觀察程序的結構與實現細節。對于需要提供Jar(Java?Archive,即Java歸檔)包的第三方,為保護知識產權,需要對Jar包進行保護,增加非法用戶獲取到Jar包后對Java源碼靜態分析的難度。
為Android項目中提供Jar包時,為了防止Jar包被逆向分析得到源代碼,需要對Jar包文件進行加固處理。現在的加固方法有使用Proguard工具進行混淆、DEX(DalvikExecutable,即Dalvik可執行文件)保護、算法加密保護等。
目前已有這方面的專利技術申請,例如申請號為201110288519.0的中國發明專利申請,公開了一種Java源代碼的保護方法和系統。在第一啟動類被調用時,該方法包括以下步驟,其中,第一啟動類為Java程序的啟動類:第一啟動類將第一密文數據進行解密,得到類加載器;類加載器將第二密文數據讀入內存進行解密,得到第一類,其中,第一類為Java虛擬機運行的類,其后綴名為.class;類加載器將第二啟動類加載到內存,其中,第二啟動類為Java程序的jar包中的原啟動類;以及類加載器將第一類加載到Java虛擬機,以便Java虛擬機能夠調用第二啟動類中的主接口,運行Java程序。通過本發明,能夠實現Java源代碼的保護,使得Java源代碼不易被反匯編。
然而,上述技術中,針對Android平臺都有一定的局限性:使用Proguard工具進行代碼混淆,代碼經過混淆后,改變了一部分類名、方法名和變量名,使得反編譯后閱讀代碼難度增加。但混淆只是增加了逆向的時間成本,仍然面臨被逆向成功的風險。另一方面,混淆功能有一定的限制,一些關鍵的類名、方法名和變量名因使用限制不能混淆。而加密算法加密Jar包文件后,在App調用Jar時需要使用密鑰解密后再進行加載調用。這種方法的安全性取決于密鑰的安全性,如果密鑰以字符串的形式保存在源代碼中,被逆向的風險較大。另一方面,在Android中使用Java語言編寫,Java逆向難度較C/C++小,加密密鑰不論是保存在源代碼中還是通過算法計算得到,都會有被逆向獲取的風險。
發明內容
為解決上述問題,本發明提出了一種使用對稱加密算法對Jar包加密的方法和系統,包括密鑰提取、Jar包加密、Native動態庫解密以及解密完成后清除文件,提高了Jar包逆向的難度,保護Android中Jar包文件,增強其安全性,降低了Jar包源代碼被逆向獲取的風險。
具體的,根據本發明的一個方面,提供了一種Jar包加固方法,所述方法包括如下步驟:
加密Jar包文件并向Android項目提供加密后的Jar包以及解密動態庫;
Android項目使用解密動態庫解密Jar包文件;
Android項目調用解密后的Jar包文件;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京握奇智能科技有限公司,未經北京握奇智能科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611221340.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種安全性高的管道焊接裝置
- 下一篇:動力鋰電池殼體加工設備





