一种JAR包防反编译方法与流程

文档序号:37672237发布日期:2024-04-18 20:45阅读:18来源:国知局
一种JAR包防反编译方法与流程

本发明涉及网络技术与安全,具体涉及一种jar包防反编译方法。


背景技术:

1、即地编译可以在jvm运行时根据需要加载java语言编译生成的字节码,并对字节码再次解释编译,生成目标机器的机器码,有利于实现跨平台业务。缺点在于字节码包含了大量java高级语言特征,容易被反向破译读取,导致核心技术被盗取。

2、目前针对防止字节码被反向破译盗取,提出了各类技术方案,例如cn202111389699.1、cn202011202910.x和cn202211036548.2等均提出了防止字节码被盗取方案,总结思路可得,目前主要具有三种解决方案:其一是通过混淆方法对字节码中变量、类名等信息进行非语义化处理,缺点在于非语义化处理破译复杂度较低,防盗效果有限;其二是通过某种加密算法对字节码中信息进行加密,运行时再进行解密,缺点在于未考虑密钥传递的安全性问题;其三是引入硬件介质、cs认证等方式进行加解密,缺点在于硬件部署难度较大,实用性较差。

3、综上所述,现有技术由于jar包防反编译方案的考虑维度单一,导致存在实用性较差的技术问题。


技术实现思路

1、本申请提供了一种jar包防反编译方法,用于针对解决现有技术由于jar包防反编译方案的考虑维度单一,导致存在实用性较差的技术问题。

2、鉴于上述问题,本申请提供了一种jar包防反编译方法。

3、本申请的第一个方面,提供了一种jar包防反编译方法,包括:调用加密程序,对原始jar包进行加密,生成加密jar包;生成解密信息,配置解密lib文件,其中,所述解密lib文件和所述加密jar包的加密文件关联;当接收到启动命令参数时,激活启动程序包进行加载校验,生成加载校验结果;当所述加载校验结果为通过时,激活内嵌于所述加密jar包的类加载组件进行解密校验,生成解密校验结果;当所述解密校验结果为通过时,调用所述解密lib文件执行所述加密文件的解密,获得解密类信息;对所述解密类信息进行加载,并删除所述启动程序包。

4、本申请的第二个方面,提供了一种jar包防反编译系统,包括:第一加密单元,用于调用加密程序,对原始jar包进行加密,生成加密jar包;第一配置单元,用于生成解密信息,配置解密lib文件,其中,所述解密lib文件和所述加密jar包的加密文件关联;第一校验单元,用于当接收到启动命令参数时,激活启动程序包进行加载校验,生成加载校验结果;第二校验单元,用于当所述加载校验结果为通过时,激活内嵌于所述加密jar包的类加载组件进行解密校验,生成解密校验结果;第一解密单元,用于当所述解密校验结果为通过时,调用所述解密lib文件执行所述加密文件的解密,获得解密类信息;第一加载单元,用于对所述解密类信息进行加载,并删除所述启动程序包。本申请中提供的一个或多个技术方案,至少具有如下技术效果或优点:

5、本申请调用加密程序,对原始jar包进行加密,生成加密jar包;生成解密信息,配置解密lib文件,其中,所述解密lib文件和所述加密jar包的加密文件关联;当接收到启动命令参数时,激活启动程序包进行加载校验,生成加载校验结果;当所述加载校验结果为通过时,激活内嵌于所述加密jar包的类加载组件进行解密校验,生成解密校验结果;当所述解密校验结果为通过时,调用所述解密lib文件执行所述加密文件的解密,获得解密类信息;对所述解密类信息进行加载,并删除所述启动程序包。通过配置加密程序用于加密,并利用启动程序包实现密钥的传递,再利用解密lib文件和类加载组件实现密钥的校验和解密,无硬件配置,考虑了密钥的传递过程,加密安全级高,达到了多维度的提升jar包防反编译效果的技术效果。



技术特征:

1.一种jar包防反编译方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,调用加密程序,对原始jar包进行加密,生成加密jar包,包括:

3.如权利要求2所述的方法,其特征在于,调用所述加密程序,生成第一通用唯一标识,对所述待加密文件进行加密,生成加密文件,在所述原始jar包替换所述待加密文件,生成所述加密jar包,之后还包括:

4.如权利要求1所述的方法,其特征在于,生成解密信息,配置解密lib文件,其中,所述解密lib文件和所述加密jar包的加密文件关联,包括:

5.如权利要求4所述的方法,其特征在于,当接收到启动命令参数时,激活启动程序包进行加载校验,生成加载校验结果,之前包括:

6.如权利要求1所述的方法,其特征在于,当接收到启动命令参数时,激活启动程序包进行加载校验,生成加载校验结果,包括:

7.如权利要求6所述的方法,其特征在于,当所述加载校验结果为通过时,激活内嵌于所述加密jar包的类加载组件进行解密校验,生成解密校验结果,包括:

8.如权利要求7所述的方法,其特征在于,当所述加载校验结果为通过时,基于预设加密方法,对密文数据进行加密,获得加密密文信息,传递至所述类加载组件,包括:

9.如权利要求6所述的方法,其特征在于,进行系统时钟功能校验,生成第一加载校验结果,包括:

10.如权利要求6所述的方法,其特征在于,对所述启动命令参数进行指纹校验,生成第二加载校验结果,包括:


技术总结
本发明提供了一种JAR包防反编译方法,涉及网络技术与安全领域,包括:调用加密程序,对原始JAR包进行加密,生成加密JAR包;生成解密信息,配置解密lib文件,其中,解密lib文件和加密JAR包的加密文件关联;当接收到启动命令参数时,激活启动程序包进行加载校验,生成加载校验结果;当所述加载校验结果为通过时,激活内嵌于所述加密JAR包的类加载组件进行解密校验,生成解密校验结果;当所述解密校验结果为通过时,调用所述解密lib文件执行所述加密文件的解密,获得解密类信息;对所述解密类信息进行加载,并删除所述启动程序包。解决现有技术的JAR包防反编译方案的考虑维度单一,导致存在实用性较差的技术问题。

技术研发人员:白雪,刘岩东,李建松,韩鹏,李霖洁
受保护的技术使用者:天翼云科技有限公司
技术研发日:
技术公布日:2024/4/17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1