[發明專利]一種代碼的處理方法及裝置在審
| 申請號: | 201910371032.5 | 申請日: | 2019-05-06 |
| 公開(公告)號: | CN110084005A | 公開(公告)日: | 2019-08-02 |
| 發明(設計)人: | 陳福強 | 申請(專利權)人: | 北京奇藝世紀科技有限公司 |
| 主分類號: | G06F21/14 | 分類號: | G06F21/14 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 楊華;王寶筠 |
| 地址: | 100080 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 混淆 源代碼 編譯 代碼調用 代碼替換 邏輯關系 記錄 申請 保證 | ||
本申請公開了一種代碼的處理方法及裝置,其中,方法包括:獲取源代碼,源代碼中包括第一類代碼與第二類代碼,其中,第二類代碼中至少包括第一類代碼中的部分代碼,以在運行源代碼的過程中,第一類代碼被第二類代碼調用;對第一類代碼進行混淆,得到混淆后的代碼;其中,混淆后的代碼中包括作為部分代碼的混淆結果的目標混淆代碼;記錄該部分代碼與目標混淆代碼的對應關系,依據該對應關系,將第二類代碼中的該部分代碼替換為目標混淆代碼,達到在保證編譯后的APP可以正常運行的前提下,增大從APP反編譯后的第一類代碼中獲得邏輯關系的難度的效果。
技術領域
本申請涉及電子信息領域,尤其涉及一種代碼的處理方法及裝置。
背景技術
APP源代碼包括JAVA源碼與XML代碼,為了降低因反編譯源代碼而導致的源代碼泄露的風險,Android平臺在對APP源代碼打包的過程中,通常會利用Proguard工具對JAVA源碼進行混淆,混淆的目標在于,把JAVA源碼替換成無意義的字符。
通常,JAVA源碼中的某些代碼可能被引用在XML代碼中:例如,JAVA源碼中的四大組件Activity、Service、BroadcastReceiver、ContentProvider以及View等中的部分代碼在XML代碼中被引用。對于編譯后的APP,在運行XML代碼的過程中,如果從JAVA源碼中找不到XML代碼所引用的代碼,則會導致APP不能正常運行。因此,在對JAVA源碼進行混淆時,不能對JAVA源碼中由XML代碼所引用的代碼進行混淆。
由于不能對JAVA源碼中由XML代碼所引用的代碼進行混淆,即不用對全部的JAVA源碼進行混淆,所以,導致APP被反編譯后,JAVA源碼中的邏輯關系容易被破解,進而導致泄露有價值的信息。
發明內容
本申請提供了一種代碼的處理方法及裝置,目的在于解決因代碼混淆不徹底而導致的對APP反編譯后JAVA源碼中的邏輯關系容易被破解的問題。
為了實現上述目的,本申請提供了以下技術方案:
一種代碼的處理方法,包括:
獲取源代碼,所述源代碼中包括第一類代碼和第二類代碼,所述第二類代碼中至少包括所述第一類代碼中的部分代碼,以在所述源代碼運行的過程中,所述第一類代碼被所述第二類代碼調用;
對所述第一類代碼進行混淆,得到混淆代碼,所述混淆代碼中包括作為所述部分代碼的混淆結果的目標混淆代碼;
記錄所述部分代碼與所述目標混淆代碼的對應關系,所述對應關系指示所述目標混淆代碼由所述部分代碼混淆生成;
依據所述對應關系,將所述第二類代碼中的所述部分代碼替換為所述目標混淆代碼。
可選的,所述對所述第一類代碼進行混淆,得到混淆代碼,包括:
查找包括預先生成的混淆規則的目標文件,所述混淆規則用于指示所述部分代碼不被混淆;
刪除所述目標文件;
調用用于混淆所述第一類代碼的混淆任務,所述混淆任務在未查詢到所述目標文件的情況下,對所述第一類代碼進行混淆。
可選的,在所述對所述第一類代碼進行混淆,得到混淆代碼之前,還包括:
通過調用processResources任務,以對所述第二類代碼進行打包,以整合為一個文件;
在所述依據所述對應關系,將所述第二類代碼中的所述部分代碼替換為所述目標混淆代碼之后,還包括:
再次調用所述processResources任務,以對將所述部分代碼替換為所述目標混淆代碼后的所述第二類代碼進行打包,以整合為一個文件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇藝世紀科技有限公司,未經北京奇藝世紀科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910371032.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種權限配置方法及終端設備
- 下一篇:一種應用程序窗口水印生成方法及系統





