[发明专利]一种Java程序的保护方法有效
| 申请号: | 201310270708.4 | 申请日: | 2013-07-01 |
| 公开(公告)号: | CN103324870A | 公开(公告)日: | 2013-09-25 |
| 发明(设计)人: | 陆舟;于华章 | 申请(专利权)人: | 飞天诚信科技股份有限公司 |
| 主分类号: | G06F21/12 | 分类号: | G06F21/12;G06F9/445 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 100085 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 java 程序 保护 方法 | ||
技术领域
本发明涉及信息安全领域,特别涉及一种Java程序的保护方法。
背景技术
Java语言是一门流行很广的编程语言,拥有很大的用户群体,其优点是跨平台和方便传输,但Java程序的编译结果不是与机器有关的机器码,而是一种Java标准定义的字节码文件,这种字节码文件保存了大量的源码信息,而且这种字节码文件很容易被反汇编,反汇编得到的源码可读性非常强,这样就导致了不怀好意者可以随意篡改反汇编得到的源码,然后再将其编译成新的字节码文件发布,给Java程序带来了安全隐患。
发明内容
为解决现有技术的缺陷,本发明提供了一种Java程序的保护方法。
1、一种Java程序的保护方法,其特征在于,包括,
当回调函数被调用时,执行步骤S1至步骤S3,
步骤S1:所述回调函数接收参数并从中获取文件长度和文件,判断所述文件长度和所述文件是否符合预设条件,如果符合,则执行步骤S2,否则,返回主函数;
步骤S2:判断所述文件是否被破坏,如果被破坏,则提示文件被破坏,进行错误处理,返回主函数;否则,执行步骤S3;
步骤S3:从当前回调函数所在的加载解释器中获取解密算法,从加密锁中获取解密密钥,根据所述解密算法和所述解密密钥对所述文件中的密文进行解密,得到解密结果,根据解密结果获取解密结果长度,返回解密结果和解密结果长度,返回主函数;
或者,所述步骤S3为,从所述文件中获取密文并将其发送给与其建立数据通信的加密锁,从当前回调函数所在的加载解释器中获取解密算法,并将其发送给与其建立数据通信的加密锁,所述加密锁根据解密算法和解密密钥对所述密文进行解密,得到解密结果,所述加密锁将所述解密结果返回给所述回调函数,所述回调函数接收解密结果,并获取解密结果长度,所述回调函数返回解密结果和解密结果长度,返回主函数。
所述步骤S1之前还包括,所述回调函数判断通知事件是否为预设事件,如果是,则执行步骤S1;否则,返回主函数。
所述文件具体包括,预先设置的欺骗部分、预留字节、加密标识以及密文。
所述判断所述文件长度和所述文件是否符合预设条件,具体包括,
判断所述文件长度是否大于第一预设长度,并判断所述文件是否为已加密的文件;如果是,则所述文件长度和所述文件符合预设条件,否则,所述文件长度和所述文件不符合预设条件。
所述第一预设长度具体为,所述欺骗部分的长度与所述预留字节的长度相加的结果;
所述判断文件是否为已加密的文件,具体包括,从所述文件中获取加密标识,如果获取到加密标识,并且获取到的加密标识与预设加密标识相同,则确定文件为已加密的文件;否则,确定不是已加密的文件。
所述判断所述文件是否被破坏,具体包括,
从所述文件中的密文的预设位置获取第一校验值,对密文除去第一校验值的部分采用指定方式进行计算,得到的计算结果为第二校验值,判断所述第一校验值和所述第二校验值是否相同,如果相同,则表示所述文件未被破坏,否则,表示所述文件被破坏。
所述步骤S3中所述从加密锁中获取解密密钥之后还包括,将初始化标识置位,将解密密钥保存至缓存区;所述初始化标识初始为复位状态。
所述步骤S3包括,
根据初始化标识判断是否是第一次加载文件,如果是,则执行步骤S3;否则,从缓存区中读取解密密钥,根据所述解密算法和所述解密密钥对所述文件中的密文进行解密,得到解密结果,根据解密结果获取解密结果长度,返回解密结果和解密结果长度,返回主函数。
所述根据初始化标识判断是否是第一次加载文件,具体包括:
判断初始化标识是否为复位状态,如果是,则确定是第一次加载文件;否则,确定不是第一次加载文件。
本发明技术方案的有益效果为:本方案不仅适用于Java桌面程序,还适用于Java web程序。通过使用Java虚拟机调用回调函数对字节码文件进行解密,然后虚拟机再执行解密后的字节码文件,从而提高了Java程序的安全性。
附图说明
图1为实施例1提供的一种Java程序的保护方法的方法流程图;
图2为实施例1提供的一种Java程序的保护方法的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式做进一步地详细描述。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于飞天诚信科技股份有限公司,未经飞天诚信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310270708.4/2.html,转载请声明来源钻瓜专利网。





