发明名称 |
提高Java软件破解难度的方法及装置、版权验证方法 |
摘要 |
本发明公开了一种提高Java软件破解难度的方法及装置,和基于该方法及装置的Java软件版权验证方法。在Java软件完成开发在发布之前对编译后的非程序入口类和方法进行代码混淆,提取软件版权保护模块的数字摘要信息得到第一摘要信息,将第一摘要信息作为常量数据硬编码到版权验证类;在版权验证类执行关键操作处再次使用摘要信息提取模块提取运行时的版权保护模块的数字摘要信息,得到第二摘要信息;将第二摘要信息和第一摘要信息比较,若相同说明版权保护模块在发布后没被篡改,软件合法;若不同说明对软件版权保护模块进行过修改,软件可能被破解,用户非法使用软件。采用本发明加大了Java软件的破解难度,提高了版权保护强度。 |
申请公布号 |
CN103065072B |
申请公布日期 |
2016.08.03 |
申请号 |
CN201110322930.5 |
申请日期 |
2011.10.21 |
申请人 |
北京大学;北大方正集团有限公司;方正国际软件(北京)有限公司 |
发明人 |
乐以长 |
分类号 |
G06F21/14(2013.01)I |
主分类号 |
G06F21/14(2013.01)I |
代理机构 |
北京天悦专利代理事务所(普通合伙) 11311 |
代理人 |
田明;任晓航 |
主权项 |
一种提高Java软件破解难度的方法,包括以下步骤:步骤1、将软件版权保护模块所涉及的Java类和非Java程序模块设置为摘要信息提取模块的提取对象;步骤2、编译软件的源代码并将编译结果打包成第一Jar文件,源代码包括业务逻辑代码和软件版权保护代码;步骤3、设置Jar文件的代码混淆选项,设定Jar文件的程序入口类及程序入口方法;步骤4、采用所述代码混淆选项对第一Jar文件的非程序入口类及非程序入口方法进行混淆并打包成第二Jar文件;步骤5、执行第二Jar文件的摘要信息提取模块,提取软件版权保护模块中混淆过的Java类和非Java程序模块的第一摘要信息,并通过第一摘要信息输出装置输出;步骤6、修改软件源代码,将所述第一摘要信息作为常量信息硬编码到Java软件的版权验证类中;步骤7、重新编译修改后的软件的源代码并将编译结果打包成第三Jar文件;步骤8、采用步骤3设置的代码混淆选项对第三Jar文件的非程序入口类及非程序入口方法进行混淆并打包成第四Jar文件,将第四Jar文件作为最终发布的Jar文件。 |
地址 |
100871 北京市海淀区颐和园路5号 |