java应用程序防篡改的判断方法、编译方法及设备技术

技术编号:33129236 阅读:7 留言:0更新日期:2022-04-17 00:43
本申请涉及计算机安全技术领域,特别是涉及一种java应用程序防篡改的判断方法、生成方法及设备,所述方法包括:在加载所述java应用程序过程中通过签名信息判断所述java应用程序是否被修改;在所述java应用程序被修改时,告警用户和/或退出。实现了在java应用程序运行之前,预先判断java应用程序是否被篡改,即可以在java应用程序运行之前判断java应用程序是否被篡改,可以避免运行被篡改后Java应用程序对程序运行端造成威胁。程序对程序运行端造成威胁。程序对程序运行端造成威胁。

【技术实现步骤摘要】
java应用程序防篡改的判断方法、编译方法及设备


[0001]本申请涉及计算机安全
,特别是涉及一种java应用程序防篡改的判断方法、编译方法及设备。

技术介绍

[0002]Java平台为开源开发环境,因此,基于Java平台开发的Java应用程序容易遭到黑客的修改,运行黑客修改过的Java应用程序会对程序运行端造成很大的威胁。
[0003]为了对程序运行端进行保护,现有技术是对Java应用程序进行加密保护,即对Java应用程序中实际运行所需要的Java源代码保护,为了对Java源代码保护,避免Java源代码被黑客修改,现有技术通常会对Java源代码进行整体加密,以大幅度增大Java应用程序破解的工作量和破解难度,进而一定程度的避免Java源代码被黑客修改,然而简单的加密保护并不能完全防止Java应用程序被破解,因此,运行加密保护后的Java应用程序依旧可能会对程序运行端造成很大的威胁。

技术实现思路

[0004]本申请实施例提供一种java应用程序防篡改的判断方法、编译方法及设备,实现了在java应用程序运行之前,预先判断java应用程序是否被篡改,进而可以在java应用程序运行之前判断java应用程序是否被篡改,可以避免运行被篡改后Java应用程序对程序运行端造成威胁。
[0005]第一方面,本申请一个实施例提供一种java应用程序防篡改的判断方法,所述方法包括:
[0006]在加载所述java应用程序过程中通过签名信息判断所述java应用程序是否被修改;
[0007]在所述java应用程序被修改时,告警用户和/或退出。
[0008]可选地,所述在加载所述java应用程序过程中通过签名信息判断所述java应用程序是否被修改包括:
[0009]加载所述java应用程序内的签名信息;
[0010]判断所述java应用程序内的签名信息与预设签名信息是否一致;
[0011]在所述java应用程序内的签名信息与所述预设签名信息一致时,判定所述java应用程序没有被修改,在所述java应用程序内的签名信息与所述预设签名信息不一致时,判定所述java应用程序被修改。
[0012]可选地,所述加载所述java应用程序内的签名信息,包括:
[0013]加载java应用程序中目标class文件的签名信息。
[0014]可选地,所述加载java应用程序中包括至少一个class文件,所述加载java应用程序中目标class文件的签名信息,包括:
[0015]加载所述java应用程序中的class文件,判断所述class文件是否在目标jar包路
径下;
[0016]在所述class文件在目标jar包路径下时,判定所述class文件为目标class文件,并加载所述目标class文件的签名信息。
[0017]可选地,所述加载所述java应用程序中的class文件,判断所述class文件是否在目标jar包路径下后,还包括:
[0018]在所述class文件不在所述目标jar包路径下时,所述class文件为第三方class文件,将所述第三方class文件发送至程序运行器,所述程序运行器用于运行所述第三方class文件。
[0019]可选地,所述加载java应用程序中目标class文件的签名信息,包括:
[0020]通过预设的混淆算法加载所述目标class文件并解析为字节码以及签名信息。
[0021]可选地,所述判断所述java应用程序内的签名信息与所述预设签名信息是否一致,包括:
[0022]通过decrypt判断所述目标class文件内的签名信息与所述预设签名信息是否一致。
[0023]第二方面,本申请一个实施例提供一种java应用程序的防篡改编译方法,所述方法包括:
[0024]为java源程序添加签名信息,生成java应用程序,在加载所述java应用程序过程中通过所述签名信息判断所述java应用程序是否被修改;在所述java应用程序被修改时,告警用户和/或退出。
[0025]可选地,所述为java源程序添加签名信息,生成java应用程序,包括:
[0026]解析所述java源程序中目标jar包路径下的class文件;
[0027]将所述签名信息与所述目标jar包路径下的class文件的字节码混淆,生成目标class文件;
[0028]使用所述目标class文件替换所述java源程序中目标jar包路径下的class文件,生成java应用程序。
[0029]第三方面,本申请一个实施例提供一种处理设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述一种java应用程序防篡改的判断方法以及一种java应用程序的防篡改编译方法的步骤。
[0030]与现有技术相比,本申请的有益效果是:通过判断java应用程序是否被修改,在所述java应用程序没有被修改时,将所述java应用程序发送至所述程序运行器,所述程序运行器用于运行所述java应用程序,在所述java应用程序被修改时,告警用户。实现了在java应用程序运行之前,加载器预先判断java应用程序是否被篡改,即可以在java应用程序运行之前判断java应用程序是否被篡改,可以避免运行被篡改后Java应用程序对程序运行端造成威胁。
附图说明
[0031]本申请将结合附图对实施方式进行说明。本申请的附图仅用于描述实施例,以展示为目的。在不偏离本申请原理的条件下,本领域技术人员能够轻松地通过以下描述根据
所述步骤做出其他实施例。
[0032]图1为本申请一个实施例中一种java应用程序防篡改的判断的处理设备的示意图;
[0033]图2为本申请一个实施例中一种java应用程序防篡改的判断方法的步骤流程图;
[0034]图3为本申请一个实施例中又一种java应用程序防篡改的判断方法的步骤流程图;
[0035]图4为本申请一个实施例中一种java源程序防篡改编译过程的流程图;
[0036]图5为本申请一个实施例中一种java应用程序防篡改的判断方法的执行过程;
[0037]图6为本申请一个实施例中又一种java应用程序防篡改的判断方法的步骤流程图;
[0038]图7为本申请一个实施例中一种java应用程序的防篡改编译装置的结构示意图;
[0039]图8为本申请一个实施例中一种java应用程序防篡改的判断装置的结构示意图;
[0040]图9为本申请计算机存储介质一实施例的结构示意图。
具体实施方式
[0041]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种java应用程序防篡改的判断方法,其特征在于,所述方法包括:在加载所述java应用程序过程中通过签名信息判断所述java应用程序是否被修改;在所述java应用程序被修改时,告警用户和/或退出。2.根据权利要求1所述的java应用程序防篡改的判断方法,其特征在于,所述在加载所述java应用程序过程中通过签名信息判断所述java应用程序是否被修改包括:加载所述java应用程序内的签名信息;判断所述java应用程序内的签名信息与预设签名信息是否一致;在所述java应用程序内的签名信息与所述预设签名信息一致时,判定所述java应用程序没有被修改,在所述java应用程序内的签名信息与所述预设签名信息不一致时,判定所述java应用程序被修改。3.根据权利要求2所述的java应用程序防篡改的判断方法,其特征在于,所述加载所述java应用程序内的签名信息,包括:加载java应用程序中目标class文件的签名信息。4.根据权利要求3所述的java应用程序防篡改的判断方法,其特征在于,所述加载java应用程序中包括至少一个class文件,所述加载java应用程序中目标class文件的签名信息,包括:加载所述java应用程序中的class文件,判断所述class文件是否在目标jar包路径下;在所述class文件在目标jar包路径下时,判定所述class文件为目标class文件,并加载所述目标class文件的签名信息。5.根据权利要求4所述的java应用程序防篡改的判断方法,其特征在于,所述加载所述java应用程序中的class文件,判断所述class文件是否在目标jar包路径下后,还包括:在所述class文件不在所述目标jar包路径下时,所述class文件为...

【专利技术属性】
技术研发人员:高飞
申请(专利权)人:杭州涂鸦信息技术有限公司
类型:发明
国别省市:

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

1