[发明专利]提高Java软件破解难度的方法及装置、验证方法及验证装置有效
申请号: | 201911423655.9 | 申请日: | 2019-12-31 |
公开(公告)号: | CN111143787B | 公开(公告)日: | 2022-02-18 |
发明(设计)人: | 乐以长;李薇薇 | 申请(专利权)人: | 方正国际软件(北京)有限公司 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 北京细软智谷知识产权代理有限责任公司 11471 | 代理人: | 谭承世 |
地址: | 100089 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 提高 java 软件 破解 难度 方法 装置 验证 | ||
1.一种提高Java软件破解难度的方法,其特征在于,包括:
在Java软件的源代码中新增AOP切面类,得到Java软件的新增AOP切面类后的源代码,所述新增AOP切面类后的源代码包括:业务处理类的代码、软件版权保护代码以及所述AOP切面类的代码,所述AOP切面类用于指定切点并提供软件防篡改验证处理代码,所述切点为执行防篡改验证操作的位置;
编译所述Java软件的新增AOP切面类后的源代码并将编译结果打包成第一Jar文件;
采用预设的Jar文件的代码混淆选项对所述第一Jar文件的非程序入口类及非程序入口方法进行代码混淆并将混淆结果打包成第二Jar文件;
根据预设的提取对象,提取所述第二Jar文件中的第一摘要信息,所述预设的提取对象为软件版权保护模块涉及的Java类和/或非Java程序,所述第一摘要信息为混淆过的Java类和/或非Java程序的数字摘要信息;
将所述第一摘要信息作为常量信息硬编码到所述AOP切面类中,得到修改后的Java软件的源代码;
编译所述修改后的Java软件的源代码,并将编译结果打包成第三Jar文件;
采用所述预设的Jar文件的代码混淆选项对所述第三Jar文件的非程序入口类及非程序入口方法进行代码混淆并打包成第四Jar文件,将所述第四Jar文件作为最终发布的Jar文件;
其中,所述Jar文件的代码混淆选项包括Jar文件中的程序入口类及程序入口方法。
2.根据权利要求1所述的方法,其特征在于,所述AOP切面类,包括:
一个或多个切面,所述切面由切点和通知组成;
其中,所述切点根据预设的规则选自业务处理类的方法;所述通知在编译时被织入所述业务处理类的切点位置,用于执行软件防篡改验证操作。
3.根据权利要求2所述的方法,其特征在于,
根据预设的规则选择所述切点,所述规则基于Java类的包名、类的修饰符、类方法的修饰符、类方法的形式参数、类方法的返回值类型选择所述业务处理类的方法。
4.根据权利要求1所述的方法,其特征在于,
所述编译Java软件的源代码,和/或,所述编译所述修改后的Java软件的源代码,采用预设的编译器进行编译,所述预设的编译器支持织入,以将AOP切面类中和切点匹配的通知代码编译进目标二进制类中,所述目标二进制类物理上包含所述AOP切面类的通知代码。
5.根据权利要求4所述的方法,其特征在于,
所述目标二进制类是将源代码转换为二进制的目标代码。
6.根据权利要求1所述的方法,其特征在于,还包括:
设置所述AOP切面类,具体包括:
定义所述AOP切面类的切点和通知;
所述AOP切面类在业务处理类的方法之前执行所述软件防篡改验证。
7.一种提高Java软件破解难度的验证方法,其特征在于,包括:
加载最终发布的Jar文件,所述最终发布的Jar文件采用如权利要求1-6所述的方法生成;
运行所述最终发布的Jar文件时,提取所述最终发布的Jar文件的第二摘要信息,获取硬编码到切面类并被编译器织入到业务处理类中的所述第一摘要信息,以及比对所述第一摘要信息和所述第二摘要信息是否相同得到验证结果。
8.根据权利要求7所述的验证方法,其特征在于,所述提取所述最终发布的Jar文件的第二摘要信息,获取硬编码到切面类并被编译器织入到业务处理类中的所述第一摘要信息,以及比对所述第一摘要信息和所述第二摘要信息是否相同得到验证结果,包括:
在所述最终发布的Jar文件运行到被编译器织入了所述AOP切面类中的通知代码的业务处理类的切点位置,通知代码将解析所述最终发布的Jar文件,提取第二摘要信息;获取硬编码到切面类并被编译器织入到业务处理类中的第一摘要信息;比对所述第二摘要信息与所述第一摘要信息是否相同,如果相同,则说明Java软件版权保护模块未被篡改;如果不同,则说明Java软件版权保护模块被篡改。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于方正国际软件(北京)有限公司,未经方正国际软件(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911423655.9/1.html,转载请声明来源钻瓜专利网。