[发明专利]一种基于JavaAgent和dll增强Java分发软件的安全方法在审
申请号: | 201810669993.X | 申请日: | 2018-06-26 |
公开(公告)号: | CN108898007A | 公开(公告)日: | 2018-11-27 |
发明(设计)人: | 张勇;何学勇 | 申请(专利权)人: | 焦点科技股份有限公司 |
主分类号: | G06F21/51 | 分类号: | G06F21/51;G06F21/12 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 陈建和 |
地址: | 210003 江苏省南京市高新*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 加密程序 解密 加载 分发软件 加密 动态链接库 共享函数库 可执行文件 加密操作 路径传递 字节码 脚本 拦截 安全 发布 应用 | ||
一种基于JavaAgent和dll增强Java分发软件的安全方法,步骤如下:步骤1:用c语言编写的加密程序,且只对需要发布的jar包在线下c语言加密程序进行加密操作;将需要加密的jar包路径传递给加密程序;步骤2:加密的jar包在应用的启动脚本中添加JavaAgent解密后由Classloader加载后运行。JavaAgent相关命令用来在jvm加载前做解密工作;JavaAgent是Java加载class文件之前对字节码进行拦截修改的程序,再经dll动态链接库连接到作为共享函数库中为解密用jar包地址可执行文件。
技术领域
本发明属于软件安全领域,具体涉及一种基于JavaAgent(Java提供的一种可以在加载class文件之前对字节码进行拦截修改的机制)和dll增强Java分发软件安全的方法和工具。
背景技术
Java借助字节码技术能轻松的实现跨平台,故而得到了广泛的使用。但是其主要应用领域在企业级开发,对桌面应用领域则一直没有太大的建树。其中一个原因就是其字节码技术易于被破解,使得开发出来的代码很容易被反编译出来,从而被盗版,使应用开发者的知识产权遭到侵犯。
现有专利CN101814124A,也是解决上述问题的方法,CN101814124A是基于Java的软件安全性加强的方法,使用代码保护方法对java生成的class代码进行加密,对Class文件进行加密处理,使得处理后的代码与处理前代码完成相同的功能,但是加密的代码很难被反编译,即反编译后得出的代码是非常难懂、晦涩的加密后文件,因此反编译人员很难得出程序的真正语义,这样即保证java开发软件的跨平台特性,又防止开发的软件被别人反编译后轻易获取,达到了保护软件的目的,该方法包括对class文件的加密过程和class文件在被jvm加载时执行前的解密过程:1)在程序代码完成后,对生产的class文件进行加密,并保存加密算法,以在jvm执行时得到解密方法;2)Jvm执行时通过loadClass进行class文件加载,在加载过程中,首先得到文件的加密算法,根据对应的解密算法对文件进行解密,然后转交jvm执行。但是该专利是通过重载ClassLoader的loadclass方法来解决,有下列不足:
要求门槛较高,对于JVM加载机制要非常有研究。对JVM自身侵入性较高,要改动JVM原有加载机制。可定制性不强,统一的loadclass加载没法做到javaagent中可分文件解密分不同方式解密的功能。
发明内容
本发明的目的是,通过JavaAgent(Java提供的一种可以在加载class文件之前对字节码进行拦截修改的机制)和dll(动态链接库,一个作为共享函数库的可执行文件)在对应用无侵入的情况下对应用进行加解密操作;提高应用的安全性。
本发明的技术方案是:一种基于JavaAgent和dll增强Java分发软件安全的方法,具体包括:一种基于JavaAgent和dll增强Java分发软件安全的方法,步骤如下:
步骤1:用c语言编写的加密程序,且只对需要发布的jar包在线下c语言加密程序进行加密操作;将需要加密的jar包路径传递给加密程序;
步骤2:加密的jar包在应用的启动脚本中添加JavaAgent解密后由Classloader加载后运行。
步骤2中,JavaAgent相关命令,用来在jvm加载前做解密工作(具体是:JavaAgent是Java提供的一种可以在加载class文件之前对字节码进行拦截修改的程序,再经dll动态链接库连接到作为共享函数库中为解密用jar包地址可执行文件;解密后由Classloader加载后运行。
JAR(Java Archive,Java归档文件)是与平台无关的文件格式,jar包通常是开发时要引用通用类,打成包便于存放管理。
本发明与其他技术方案相比较,具有有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于焦点科技股份有限公司,未经焦点科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810669993.X/2.html,转载请声明来源钻瓜专利网。