一种Java程序的运行方法及电子终端技术

技术编号:4087769 阅读:257 留言:0更新日期:2012-04-11 18:40
本发明专利技术实施例公开了一种Java程序的运行方法,包括:启动当前Java虚拟机,加载基于Java虚拟机工具接口的动态链接库文件;根据所述动态链接库文件识别当前Java虚拟机是否含有预设的标识信息;当识别结果为是时,正常启动所述Java虚拟机运行Java程序;当识别结果为否时,退出启动程序。相应地,本发明专利技术还公开了一种电子终端,采用本发明专利技术,实现了从二进制级别上确保Java字节码的安全,让攻击者无法取得字节码,从而从根本上保护商业软件的源代码不被窃取,更加安全的保护了商业软件的核心算法和商业机密;采用本发明专利技术的技术方案不会损失任何Java的特性,可以实现跨平台Java字节码的保护,并且部署简单,成本低。

【技术实现步骤摘要】

本专利技术涉及电子通信领域,尤其涉及一种Java程序的运行方法及电子终端。
技术介绍
随着Java语言的普及和应用,越来越多的软件使用Java进行实现。由于Java语 言的动态性和灵活性,对其源代码的保护变得十分困难。现有技术中,借助于反编译可以很容易地将源代码从其二进制类文件中提取出 来,因此,任何一个恶意用户都可以利用反编译工具,如Jad (应用程序开发联系会议)等工 具对软件进行逆向工程攻击,可以破解商业软件中授权保护的程序段进而随意分发未经授 权的拷贝。而对于经验丰富的攻击者而言,甚至不用反编译而直接修改二进制的字节码来 进行攻击,获取源代码。如何更好地保护软件的知识产权,保护软件的源代码不被攻击而泄露成为一个亟 需解决的问题。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供一种Java程序的运行方法及电子 终端。从二进制级别上确保Java字节码的安全,实现了更好地保护软件核心算法和商业机 密不被窃取。为了解决上述技术问题,本专利技术实施例提供了一种Java程序的运行方法,包括启动当前Java虚拟机(JavaVM,Java Virtual Machine),加载基于Java虚拟机 工具接口的动态链接库文件;根据所述动态链接库文件识别当前Java虚拟机是否含有预设的标识信息;当识别结果为是时,正常启动所述Java虚拟机运行Java程序;当识别结果为否 时,退出启动程序。其中,所述启动当前Java虚拟机的步骤之前还包括初始化Java虚拟机;所述初始化Java虚拟机的步骤包括启动预设的Java启动器,设置Java虚拟机的 标识信息。其中,所述启动当前Java虚拟机的步骤之前还包括基于高级力口密标准 AES (AES,Advanced Encryption Standard)加密算法,对 Java 程序的class文件进行加密。其中,所述正常启动所述Java虚拟机运行Java程序的步骤包括所述Java虚拟机检测所述动态链接库文件是否含有预设的标识特征信息;当检测结果为是时,根据所述动态链接库文件处理class文件;当检测结果为否 时,退出运行程序。其中,含有预设的标识特征信息的动态链接库文件设有对所述class文件进行解 密的解密密钥;所述Java虚拟机根据所述动态链接库文件处理class文件的步骤包括所述Java虚拟机根据所述动态链接库文件的解密密钥,调用AES算法对所述 class文件进行解密,并根据解密后的class文件执行指令。对应地,本专利技术实施例还提供了一种电子终端,包括Java虚拟机启动模块,用于启动当前Java虚拟机;加载模块,用于加载基于Java虚拟机工具接口的动态链接库文件;标识识别模块,用于根据所述动态链接库文件识别当前Java虚拟机是否含有预 设的标识信息;识别处理模块,用于当所述标识识别模块的识别结果为是时,正常启动所述Java 虚拟机运行Java程序;当所述标识识别模块的识别结果为否时,退出启动程序。其中,所述电子终端还包括虚拟机初始化模块,用于初始化Java虚拟机;所述虚拟机初始化模块启动电子终端预设的Java启动器,设置Java虚拟机的标 识fe息。其中,所述电子终端还包括加密模块,用于基于高级加密标准AES加密算法,对Java程序的class文件进行 加密。其中,所述识别处理模块包括触发检测单元,用于当所述标识识别模块的识别结果为是时,触发所述Java虚拟 机检测所述动态链接库文件是否含有预设的标识特征信息;当所述检测结果为是时,所述Java虚拟机根据所述动态链接库文件处理class文 件;当所述检测结果为否时,所述Java虚拟机退出运行程序。其中,含有预设的标识特征信息的动态链接库文件设有对所述class文件进行解 密的解密密钥;当所述检测结果为是时,所述Java虚拟机根据所述动态链接库文件的解密密钥, 调用AES算法对所述class文件进行解密,并根据解密后的class文件执行指令。实施本专利技术实施例,具有如下有益效果通过识别当前Java虚拟机是否含有预设的标识信息,当识别出当前的Java虚拟 机含有预设的标识信息时才正常启动所述Java虚拟机运行Java程序,且该Java虚拟机还 检测所述动态链接库文件是否含有预设的标识特征信息,当检测到该动态链接库文件含有 预设的标识特征信息时才根据所述动态链接库文件处理class文件,否则退出运行程序, 实现了从二进制级别上确保Java字节码的安全,让攻击者无法取得字节码,从而从根本 上保护商业软件的源代码不被窃取,更加安全的保护了商业软件的核心算法和商业机密; 采用本专利技术的技术方案不会损失任何Java的特性,可以实现跨平台Java字节码的保护; 采用运行期面向切面编程(AOP,Aspect Oriented Programming)外挂方式装载,对现有 的Java软件系统没有任何侵入影响;由于控制在Java虚拟机级别上,对java平台标准版 (JavaSE)与java平台企业版(JavaEE)环境都是通用的,并且部署简单,成本低。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。图1是本专利技术Java程序的运行方法的第一实施例流程示意图;图2是本专利技术Java程序的运行方法的第二实施例流程示意图;图3是本专利技术电子终端的第一实施例的结构示意图;图4是本专利技术电子终端的第二实施例的结构示意图;图5是本专利技术电子终端的第三实施例的结构示意图;图6是本专利技术电子终端的第四实施例的结构示意图。具体实施例方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于 本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他 实施例,都属于本专利技术保护的范围。如图1示出的本专利技术Java程序的运行方法的第一实施例流程示意图,包括步骤SlOl 启动当前Java虚拟机,加载基于Java虚拟机工具接口的动态链接库 文件;具体地,用户需要运行Java程序,向电子终端发送运行Java程序的指令,电子终 端接收到该指令后,启动当前Java虚拟机,并加载基于Java虚拟机工具接口(JVMTI,Java Virtual Machine Tool Interface)的动态链接库文件;该Java虚拟机可以为用户安装 的Java虚拟机,也可以电子终端本身自带的Java虚拟机;该动态链接库文件可以为基于 windows平台的DLL组件(如Agent, dll),也可以为基于Linux平台的SO组件等等。步骤S102 根据所述动态链接库文件识别当前Java虚拟机是否含有预设的标识 fn息;具体地,当识别结果为是时,则执行步骤S103 ;当识别结果为否时,则退出启动程序,结束流程。步骤S103 正常启动所述Java虚拟机运行Java程序。需要说明的是,本专利技术实施例还包括,技术人员编写完毕Java程序后,首先初始 化Java虚拟机,预先本文档来自技高网...

【技术保护点】
一种Java程序的运行方法,其特征在于,包括:启动当前Java虚拟机,加载基于Java虚拟机工具接口的动态链接库文件;根据所述动态链接库文件识别当前Java虚拟机是否含有预设的标识信息;当识别结果为是时,正常启动所述Java虚拟机运行Java程序;当识别结果为否时,退出启动程序。

【技术特征摘要】

【专利技术属性】
技术研发人员:桂艳军王远
申请(专利权)人:深圳市拜特科技股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1