一种用于保护java程序的代码混淆处理系统及方法技术方案

技术编号:34328257 阅读:49 留言:0更新日期:2022-07-31 01:34
本申请涉及计算机技术领域,公开了一种用于保护java程序的代码混淆处理系统及方法,包括:用户登录模块,用于提供用户登录入口,上传需要混淆的java程序;信息采集模块,用于获取上传的java程序,得到需要混淆的class文件,并设置混淆方式及混淆级别;代码混淆模块,用于对需要混淆的class文件采用相应的混淆方式和混淆级别进行代码混淆处理;Class管理模块,用于管理代码混淆模块输出的混淆结果。上述代码混淆处理系统内部各模块分工明确,可以对java程序实现批量的上传混淆处理,大大提升批处理速度和节省批量处理的时间,没有增加程序的额外执行开销,起到了保护java程序的作用。起到了保护java程序的作用。起到了保护java程序的作用。

【技术实现步骤摘要】
一种用于保护java程序的代码混淆处理系统及方法


[0001]本专利技术涉及计算机
,特别是涉及一种用于保护java程序的代码混淆处理系统及方法。

技术介绍

[0002]随着计算机网络和分布式系统的发展,java语言以其良好的平台无关性和可移植性在软件产业中得到了日益广泛的应用,从而开发人员可以使用java语言在不同平台上开发各种不同的应用程序。目前java软件已经广泛的应用在各类嵌入式应用、企业应用等领域中,为高速发展的信息技术提供了新的动力。
[0003]java程序的编译过程和C/C++程序的编译过程不同,C/C++编译器编译生成的对象代码是在特定平台运行的代码,通过查找表编译器能够将所有变量和方法符号的引用转换为特定的内存偏移量。但java编译器却不会将变量和方法符号的引用转换为数值的引用,而是将这些符号的引用信息保留在字节码文件中。因此java字节码文件保留了所有方法和变量的符号信息,而这些符号通常带有许多语义信息。正是由于java语言本身这种特性才使它很容易被反编译,所以基于java语言的程序很容易被破解,最终导致软件开发者的知识产权很难得到保障。因此就迫切需要有效的保护java程序的方法出现。
[0004]为了防止恶意主机对移动代理有目的的篡改,代码混淆技术被提出,其基本做法是使用代码混淆技术对软件的代码进行混淆变换,使混淆变换后的代码的分析难度增加,从而在一定程度上阻止对软件的篡改。在实际应用中,对软件提供绝对的安全保护是不可能,也是没有必要的,只要能使攻击者的攻击付出较高的代价,就可以认为混淆技术达到了安全保护的作用。目前代码混淆技术主要集中在控制流混淆和数据流混淆上,这两种混淆技术在提高程序的复杂度和抗攻击能力的同时,增加了程序额外的执行开销,这种执行开销有时甚至会导致程序不能正常运行。
[0005]因此,如何使用代码混淆技术保护java程序,提高程序复杂度和抗攻击能力,同时又不增加程序额外的执行开销,是本领域技术人员亟待解决的技术问题。

技术实现思路

[0006]有鉴于此,本专利技术的目的在于提供一种用于保护java程序的代码混淆处理系统及方法,可以对java程序实现批量的上传混淆处理,没有增加程序的额外执行开销,具有很好的混淆效果。其具体方案如下:
[0007]一种用于保护java程序的代码混淆处理系统,包括:
[0008]用户登录模块,用于提供用户登录入口,上传需要混淆的java程序;
[0009]信息采集模块,用于获取上传的java程序,得到需要混淆的class文件,并设置混淆方式及混淆级别;
[0010]代码混淆模块,用于对所述需要混淆的class文件采用相应的混淆方式和混淆级别进行代码混淆处理;
[0011]Class管理模块,用于管理所述代码混淆模块输出的混淆结果。
[0012]优选地,在本专利技术实施例提供的上述代码混淆处理系统中,所述信息采集模块包括:
[0013]采集单元,用于获取上传的java程序;
[0014]编译单元,用于根据java字节码,将.java文件经过java编译器变成原字节码.class文件;
[0015]配置单元,用于配置目标java程序的混淆设置,从所述原字节码.class文件中指定不需要混淆及需要混淆的class文件,同时设置混淆方式及混淆级别。
[0016]优选地,在本专利技术实施例提供的上述代码混淆处理系统中,所述代码混淆模块包括:
[0017]复制单元,用于复制所述需要混淆的class文件成为目标字节码.class文件;
[0018]混淆单元,用于对所述目标字节码.class文件采用相应的混淆方式和混淆级别进行代码混淆处理,得到混淆后的目标混淆字节码.class文件,并删除掉所述需要混淆的class文件。
[0019]优选地,在本专利技术实施例提供的上述代码混淆处理系统中,所述混淆单元包括:
[0020]第一混淆子单元,用于通过控制流混淆的方式对所述目标字节码.class文件进行混淆处理;
[0021]第二混淆子单元,用于通过名称混淆的方式对所述目标字节码.class文件进行混淆处理;
[0022]第三混淆子单元,用于通过字符串加密的方式对所述目标字节码.class文件进行混淆处理。
[0023]优选地,在本专利技术实施例提供的上述代码混淆处理系统中,所述第一混淆子单元中控制流混淆的方式为对所述目标字节码.class文件进行微小更改,改变代码的控制流,不更改代码在运行时的作用;
[0024]所述第二混淆子单元中名称混淆的方式为将java类名、方法名、字段名更改为无意义的字符串;
[0025]所述第三混淆子单元中字符串加密的方式为加密存储在类文件的常量池中的字符串文字。
[0026]优选地,在本专利技术实施例提供的上述代码混淆处理系统中,所述代码混淆模块还包括:
[0027]进度查阅单元,用于根据代码混淆处理进度,判断是否输出混淆操作过程信息;若是,则输出混淆操作过程信息和混淆结果;若否,则直接输出混淆结果。
[0028]优选地,在本专利技术实施例提供的上述代码混淆处理系统中,还包括:
[0029]控制模块,用于将所述信息采集模块的混淆设置信息、不需要混淆及需要混淆的文件发送至所述代码混淆模块。
[0030]优选地,在本专利技术实施例提供的上述代码混淆处理系统中,所述Class管理模块,具体用于在所述代码混淆模块混淆处理后将混淆结果组装成目标混淆程序,并将所述目标混淆程序自动上传至查询列表的相应地址下,以供用户在所述查询列表中查看所述目标混淆程序。
[0031]优选地,在本专利技术实施例提供的上述代码混淆处理系统中,所述Class管理模块,具体还用于将混淆结果与所述需要混淆的文件进行对比,获取对比结果。
[0032]本专利技术实施例还提供了一种本专利技术实施例提供的上述代码混淆处理系统的处理方法,包括:
[0033]用户登录模块提供用户登录入口,上传需要混淆的java程序;
[0034]信息采集模块获取上传的java程序,得到需要混淆的class文件,并设置混淆方式及混淆级别;
[0035]代码混淆模块对所述需要混淆的class文件采用相应的混淆方式和混淆级别进行代码混淆处理;
[0036]Class管理模块管理所述代码混淆模块输出的混淆结果。
[0037]从上述技术方案可以看出,本专利技术所提供的一种用于保护java程序的代码混淆处理系统,包括:用户登录模块,用于提供用户登录入口,上传需要混淆的java程序;信息采集模块,用于获取上传的java程序,得到需要混淆的class文件,并设置混淆方式及混淆级别;代码混淆模块,用于对需要混淆的class文件采用相应的混淆方式和混淆级别进行代码混淆处理;Class管理模块,用于管理代码混淆模块输出的混淆结果。
[0038]本专利技术提供的上述代码混淆处理系统中,内部各模块分工明确,可以对java程序本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于保护java程序的代码混淆处理系统,其特征在于,包括:用户登录模块,用于提供用户登录入口,上传需要混淆的java程序;信息采集模块,用于获取上传的java程序,得到需要混淆的class文件,并设置混淆方式及混淆级别;代码混淆模块,用于对所述需要混淆的class文件采用相应的混淆方式和混淆级别进行代码混淆处理;Class管理模块,用于管理所述代码混淆模块输出的混淆结果。2.根据权利要求1所述的代码混淆处理系统,其特征在于,所述信息采集模块包括:采集单元,用于获取上传的java程序;编译单元,用于根据java字节码,将.java文件经过java编译器变成原字节码.class文件;配置单元,用于配置目标java程序的混淆设置,从所述原字节码.class文件中指定不需要混淆及需要混淆的class文件,同时设置混淆方式及混淆级别。3.根据权利要求2所述的代码混淆处理系统,其特征在于,所述代码混淆模块包括:复制单元,用于复制所述需要混淆的class文件成为目标字节码.class文件;混淆单元,用于对所述目标字节码.class文件采用相应的混淆方式和混淆级别进行代码混淆处理,得到混淆后的目标混淆字节码.class文件,并删除掉所述需要混淆的class文件。4.根据权利要求3所述的代码混淆处理系统,其特征在于,所述混淆单元包括:第一混淆子单元,用于通过控制流混淆的方式对所述目标字节码.class文件进行混淆处理;第二混淆子单元,用于通过名称混淆的方式对所述目标字节码.class文件进行混淆处理;第三混淆子单元,用于通过字符串加密的方式对所述目标字节码.class文件进行混淆处理。5.根据权利要求4所述的代码混淆处理系统,其特征在于,...

【专利技术属性】
技术研发人员:闫永晖郭涛
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

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

1