[发明专利]一种用于Java软件防盗版的加密编译和运行方法在审
申请号: | 202110750549.2 | 申请日: | 2021-07-02 |
公开(公告)号: | CN113641965A | 公开(公告)日: | 2021-11-12 |
发明(设计)人: | 穆爽;徐欣;张权 | 申请(专利权)人: | 杭州电子科技大学 |
主分类号: | G06F21/14 | 分类号: | G06F21/14;G06F21/60 |
代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 陈炜 |
地址: | 310018 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 java 软件 盗版 加密 编译 运行 方法 | ||
1.一种用于Java软件防盗版的加密编译和运行方法,包括生产者加密方法和运行前动态解密方法两个部分;其特征在于:所述的生产者加密方法的具体步骤如下:
(1).指定密钥并生成加解密表
对软件中需要加密的Java文件指定对应的密钥;利用白盒密码算法生成密钥对应的加密表和解密表;
(2).筛选出待加密的类名或包名
在Java文件中筛选出需要加密的字节码文件,并利用加密表对筛选出的字节码文件进行白盒密码加密,生成加密文件;
(3).软件交付
将解密方法定义在dll文件中,将解密表和dll文件一起交付给用户;用户能够利用解密表和dll文件来对加密文件进行解密和运行;
所述的运行前动态解密方法具体是:
(1).加载JVMTI以及dll文件中的解密方法;
(2).在Java文件中筛选出加密文件,并利用解密表和dll文件中的解密方法对加密文件进行解密,还原出初始状态的字节码文件;
(3).将解密得到的字节码文件在JVM中进行加载。
2.根据权利要求1所述的一种用于Java软件防盗版的加密编译和运行方法,其特征在于:所述白盒密码加密的流程如下:明文的字节码文件经过多张表完成加密,进行加密的表包括Type1-3型表、Type4表和extc表;所述的Type1-3型表均由密钥生成;所述的Type4表执行异或功能;所述的extc表由程序随机生成。
3.根据权利要求1所述的一种用于Java软件防盗版的加密编译和运行方法,其特征在于:筛选出需要加密的字节码文件的过程如下:使用Java的JarFile相关API,找到jar/war包中指定的类名或包名,并在其中选取需要加密的字节码文件。
4.根据权利要求1所述的一种用于Java软件防盗版的加密编译和运行方法,其特征在于:筛选出加密文件的具体过程如下:对每个字节码文件的魔数进行识别;魔数不是“CAFEBA BE”的文件为加密文件;魔数为字节码文件的前四个字节。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州电子科技大学,未经杭州电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110750549.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种外置声卡
- 下一篇:一种纳米纤维素气凝胶、其制备方法及在卷烟中的用途