[發明專利]一種基于Java代碼的混淆方法和裝置有效
| 申請號: | 201811290226.4 | 申請日: | 2018-10-31 |
| 公開(公告)號: | CN109614771B | 公開(公告)日: | 2020-07-03 |
| 發明(設計)人: | 李家良 | 申請(專利權)人: | 同盾控股有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 北京潤澤恒知識產權代理有限公司 11319 | 代理人: | 莎日娜 |
| 地址: | 311121 浙江省杭州市余*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 java 代碼 混淆 方法 裝置 | ||
1.一種基于Java代碼的混淆方法,其特征在于,所述方法包括:
獲取待混淆的代碼信息,所述代碼信息包括源代碼、所述源代碼中需要編譯的類、函數和變量;
對所述代碼信息進行預編譯,以確定具有預設格式的歸檔文件;
根據利用預設的反編譯工具對所述歸檔文件進行的反編譯,結合混淆需求,確定是否對所述歸檔文件進行混淆;
當確定對所述歸檔文件進行混淆時,根據所述混淆需求,對所述歸檔文件執行混淆操作,以確定混淆后的目標文件;
其中,所述混淆操作包括對字符串常量進行加密和對類、函數以及XML文件中的類進行混淆改名;
所述對所述代碼信息進行預編譯,以確定具有預設格式的歸檔文件,包括:
根據所述代碼信息中的類、函數和變量,確定預設的編譯工具所使用的插件配置;
在將所述插件配置對應插入所述源代碼中的預設文件中之后,利用所述編譯工具對所述代碼信息進行編譯;
當利用maven proguard插件進行代碼信息的預編譯時,還包括對proguard插件的自動化配置,根據代碼信息中的需要混淆的類、函數以及變量確定maven proguard的插件配置;將插件自動配置插入在源代碼的pom.xml文件的文件對象模型DOM樹中,以便于對之后的文件的編譯、反編譯或者混淆操作。
2.根據權利要求1所述的方法,其特征在于,所述根據利用預設的反編譯工具對所述歸檔文件進行的反編譯,結合混淆需求,確定是否對所述歸檔文件進行混淆,包括:
利用所述反編譯工具,對所述歸檔文件進行反編譯;
根據所述反編譯的結果,確定所述歸檔文件中未被混淆的代碼信息;
以預設的方式輸出所述未被混淆的代碼信息;
根據獲取到的對所述未被混淆的代碼信息的所述混淆需求,確定是否進行所述歸檔文件的混淆;
其中,所述未被混淆的代碼信息包括未被混淆的類、未被混淆的函數以及XML文件中的類,所述混淆需求包括所述未被混淆的代碼信息中需進行混淆的代碼信息。
3.根據權利要求2所述的方法,其特征在于,所述當確定對所述歸檔文件進行混淆時,根據所述混淆需求,執行對所述歸檔文件的混淆操作,以確定混淆后的目標文件,包括:
根據預設的字符串特征,對所述需進行混淆的代碼信息中的字符串常量進行加密;以及
對所述需進行混淆的代碼信息中的類、函數以及XML文件中的類進行混淆改名;
根據加密后的所述字符串常量和所述混淆改名后的所述類、所述函數以及所述XML文件中的類,確定所述目標文件。
4.根據權利要求1所述的方法,其特征在于,所述方法還包括:
利用所述反編譯工具,對所述目標文件進行反編譯;
根據所述反編譯的結果,確定是否對所述目標文件再次執行所述混淆操作;
當確定對所述目標文件再次執行所述混淆操作時,獲取對所述目標文件的混淆需求;
根據所述目標文件的混淆需求,再次對所述目標文件執行所述混淆操作。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于同盾控股有限公司,未經同盾控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201811290226.4/1.html,轉載請聲明來源鉆瓜專利網。





