[发明专利]java代码混淆方法、系统、计算机设备及存储介质在审
申请号: | 202111389699.1 | 申请日: | 2021-11-22 |
公开(公告)号: | CN114090965A | 公开(公告)日: | 2022-02-25 |
发明(设计)人: | 邓卫平;梅雨;孙禄明 | 申请(专利权)人: | 全景智联(武汉)科技有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 广东奥益专利代理事务所(普通合伙) 44842 | 代理人: | 田树杰 |
地址: | 430000 湖北省武汉市东湖新*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | java 代码 混淆 方法 系统 计算机 设备 存储 介质 | ||
1.一种java代码混淆方法;其特征在于,该java代码混淆方法包括:
获取待混淆文件,其中,所述待混淆文件为jar包或编译阶段的java代码;
判断所述待混淆文件类型,当所述待混淆文件为jar包时,解析所述jar包,定位classes文件夹所在位置,读取配置文件并进行混淆替换,生成新的jar包;
当所述待混淆文件为编译阶段的java代码时,在java代码中添加混淆工具依赖,在编译时启用混淆工具进行混淆,生成混淆后的jar包。
2.如权利要求1所述的java代码混淆方法,其特征在于:所述java代码混淆方法基于JVM字节码,使用JVM字节码对处理后的代码进行检测,确保混淆后的字节码文件可运行,在混淆时通过变量引用链进行字符替换。
3.如权利要求2所述的java代码混淆方法,其特征在于:当所述待混淆文件为jar包时,jar包进行混淆的方法还包括:
获取混淆规则,根据读取的配置文件确定待混淆的类文件及所述类文件的引用树;
根据混淆规则对所述类文件的类名、方法名、变量名进行替换,生成新的jar包。
4.如权利要求3所述的java代码混淆方法,其特征在于:在对所述类文件的类名、方法名、变量名进行替换时,还通过JVM语法解析器对引用树进行遍历,使所述引用树的相关引用变量保持替换前后一致。
5.如权利要求3所述的java代码混淆方法,其特征在于:解析所述jar包时,还包括检测并移除代码中无用的类、字段、方法和特性;读取配置文件并进行混淆替换时,还包括使用配置文件中配置的字符对类、方法、字段进行重命名,通过JVM分析类、方法、字段的引用链,将所有引用了被混淆的类、方法、字段的对应位置也进行相同的名称替换,并对混淆的类加入冗余字段及冗余方法,完成混淆替换。
6.如权利要求2所述的java代码混淆方法,其特征在于:当所述待混淆文件为编译阶段的java代码时,还包括:
将添加的混淆工具的生命周期设置为编译时运行,并通过读取配置文件选择混淆字符、确定不被混淆类文件以及获取混淆规则;
通过混淆规则对待混淆的类、方法上添加混淆注解;
编译java代码时,所述混淆工具定位所有添加混淆注解的类,同时读取配置文件,按照所述混淆规则对待混淆的类文件进行变量替换,生成混淆后的jar包。
7.如权利要求6所述的java代码混淆方法,其特征在于:所述混淆工具使用maven引入依赖,在代码编译阶段,调用混淆包解析代码中添加有混淆注解的类、方法、字段,根据配置的混淆配置文件,确定混淆规则,对相应的字节码文件进行混淆,混淆完成后生成jar包。
8.一种java代码混淆系统,其特征在于:所述java代码混淆系统采用权利要求1-7中任意一项所述java代码混淆方法对代码编译后的jar包以及编译过程中的java代码进行混淆;所述java代码混淆系统包括:
配置模块,用于读取配置文件;
混淆方案选择模块,用于根据读取配置文件,选择混淆字符、确定不被混淆类文件以及获取混淆规则;
混淆模块,用于对jar包及编译阶段的java代码,通过JVM分析对象引用链,并进行混淆替换;
校验模块,用于使用JVM字节码对处理后的代码进行检测,确保混淆后的字节码文件可运行,在混淆时通过变量引用链进行字符替换。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于全景智联(武汉)科技有限公司,未经全景智联(武汉)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111389699.1/1.html,转载请声明来源钻瓜专利网。