[发明专利]一种代码的处理方法及装置在审
申请号: | 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.vipzhuanli.com/pat/books/201910371032.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种权限配置方法及终端设备
- 下一篇:一种应用程序窗口水印生成方法及系统