CN114816362A - 一种用于保护java程序的代码混淆处理系统及方法 - Google Patents
一种用于保护java程序的代码混淆处理系统及方法 Download PDFInfo
- Publication number
- CN114816362A CN114816362A CN202210453054.8A CN202210453054A CN114816362A CN 114816362 A CN114816362 A CN 114816362A CN 202210453054 A CN202210453054 A CN 202210453054A CN 114816362 A CN114816362 A CN 114816362A
- Authority
- CN
- China
- Prior art keywords
- code
- obfuscation
- confusion
- module
- processing system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000008569 process Effects 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 9
- 238000003672 processing method Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
- G06F8/315—Object-oriented languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及计算机技术领域,公开了一种用于保护java程序的代码混淆处理系统及方法,包括:用户登录模块,用于提供用户登录入口,上传需要混淆的java程序;信息采集模块,用于获取上传的java程序,得到需要混淆的class文件,并设置混淆方式及混淆级别;代码混淆模块,用于对需要混淆的class文件采用相应的混淆方式和混淆级别进行代码混淆处理;Class管理模块,用于管理代码混淆模块输出的混淆结果。上述代码混淆处理系统内部各模块分工明确,可以对java程序实现批量的上传混淆处理,大大提升批处理速度和节省批量处理的时间,没有增加程序的额外执行开销,起到了保护java程序的作用。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种用于保护java程序的代码混淆处理系统及方法。
背景技术
随着计算机网络和分布式系统的发展,java语言以其良好的平台无关性和可移植性在软件产业中得到了日益广泛的应用,从而开发人员可以使用java语言在不同平台上开发各种不同的应用程序。目前java软件已经广泛的应用在各类嵌入式应用、企业应用等领域中,为高速发展的信息技术提供了新的动力。
java程序的编译过程和C/C++程序的编译过程不同,C/C++编译器编译生成的对象代码是在特定平台运行的代码,通过查找表编译器能够将所有变量和方法符号的引用转换为特定的内存偏移量。但java编译器却不会将变量和方法符号的引用转换为数值的引用,而是将这些符号的引用信息保留在字节码文件中。因此java字节码文件保留了所有方法和变量的符号信息,而这些符号通常带有许多语义信息。正是由于java语言本身这种特性才使它很容易被反编译,所以基于java语言的程序很容易被破解,最终导致软件开发者的知识产权很难得到保障。因此就迫切需要有效的保护java程序的方法出现。
为了防止恶意主机对移动代理有目的的篡改,代码混淆技术被提出,其基本做法是使用代码混淆技术对软件的代码进行混淆变换,使混淆变换后的代码的分析难度增加,从而在一定程度上阻止对软件的篡改。在实际应用中,对软件提供绝对的安全保护是不可能,也是没有必要的,只要能使攻击者的攻击付出较高的代价,就可以认为混淆技术达到了安全保护的作用。目前代码混淆技术主要集中在控制流混淆和数据流混淆上,这两种混淆技术在提高程序的复杂度和抗攻击能力的同时,增加了程序额外的执行开销,这种执行开销有时甚至会导致程序不能正常运行。
因此,如何使用代码混淆技术保护java程序,提高程序复杂度和抗攻击能力,同时又不增加程序额外的执行开销,是本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种用于保护java程序的代码混淆处理系统及方法,可以对java程序实现批量的上传混淆处理,没有增加程序的额外执行开销,具有很好的混淆效果。其具体方案如下:
一种用于保护java程序的代码混淆处理系统,包括:
用户登录模块,用于提供用户登录入口,上传需要混淆的java程序;
信息采集模块,用于获取上传的java程序,得到需要混淆的class文件,并设置混淆方式及混淆级别;
代码混淆模块,用于对所述需要混淆的class文件采用相应的混淆方式和混淆级别进行代码混淆处理;
Class管理模块,用于管理所述代码混淆模块输出的混淆结果。
优选地,在本发明实施例提供的上述代码混淆处理系统中,所述信息采集模块包括:
采集单元,用于获取上传的java程序;
编译单元,用于根据java字节码,将.java文件经过java编译器变成原字节码.class文件;
配置单元,用于配置目标java程序的混淆设置,从所述原字节码.class文件中指定不需要混淆及需要混淆的class文件,同时设置混淆方式及混淆级别。
优选地,在本发明实施例提供的上述代码混淆处理系统中,所述代码混淆模块包括:
复制单元,用于复制所述需要混淆的class文件成为目标字节码.class文件;
混淆单元,用于对所述目标字节码.class文件采用相应的混淆方式和混淆级别进行代码混淆处理,得到混淆后的目标混淆字节码.class文件,并删除掉所述需要混淆的class文件。
优选地,在本发明实施例提供的上述代码混淆处理系统中,所述混淆单元包括:
第一混淆子单元,用于通过控制流混淆的方式对所述目标字节码.class文件进行混淆处理;
第二混淆子单元,用于通过名称混淆的方式对所述目标字节码.class文件进行混淆处理;
第三混淆子单元,用于通过字符串加密的方式对所述目标字节码.class文件进行混淆处理。
优选地,在本发明实施例提供的上述代码混淆处理系统中,所述第一混淆子单元中控制流混淆的方式为对所述目标字节码.class文件进行微小更改,改变代码的控制流,不更改代码在运行时的作用;
所述第二混淆子单元中名称混淆的方式为将java类名、方法名、字段名更改为无意义的字符串;
所述第三混淆子单元中字符串加密的方式为加密存储在类文件的常量池中的字符串文字。
优选地,在本发明实施例提供的上述代码混淆处理系统中,所述代码混淆模块还包括:
进度查阅单元,用于根据代码混淆处理进度,判断是否输出混淆操作过程信息;若是,则输出混淆操作过程信息和混淆结果;若否,则直接输出混淆结果。
优选地,在本发明实施例提供的上述代码混淆处理系统中,还包括:
控制模块,用于将所述信息采集模块的混淆设置信息、不需要混淆及需要混淆的文件发送至所述代码混淆模块。
优选地,在本发明实施例提供的上述代码混淆处理系统中,所述Class管理模块,具体用于在所述代码混淆模块混淆处理后将混淆结果组装成目标混淆程序,并将所述目标混淆程序自动上传至查询列表的相应地址下,以供用户在所述查询列表中查看所述目标混淆程序。
优选地,在本发明实施例提供的上述代码混淆处理系统中,所述Class管理模块,具体还用于将混淆结果与所述需要混淆的文件进行对比,获取对比结果。
本发明实施例还提供了一种本发明实施例提供的上述代码混淆处理系统的处理方法,包括:
用户登录模块提供用户登录入口,上传需要混淆的java程序;
信息采集模块获取上传的java程序,得到需要混淆的class文件,并设置混淆方式及混淆级别;
代码混淆模块对所述需要混淆的class文件采用相应的混淆方式和混淆级别进行代码混淆处理;
Class管理模块管理所述代码混淆模块输出的混淆结果。
从上述技术方案可以看出,本发明所提供的一种用于保护java程序的代码混淆处理系统,包括:用户登录模块,用于提供用户登录入口,上传需要混淆的java程序;信息采集模块,用于获取上传的java程序,得到需要混淆的class文件,并设置混淆方式及混淆级别;代码混淆模块,用于对需要混淆的class文件采用相应的混淆方式和混淆级别进行代码混淆处理;Class管理模块,用于管理代码混淆模块输出的混淆结果。
本发明提供的上述代码混淆处理系统中,内部各模块分工明确,可以对java程序实现批量的上传混淆处理,具有很好的混淆效果,大大提升批处理速度和节省批量处理的时间,能够很好地保证混淆前后java程序行为的一致性,隐藏了业务逻辑和代码使攻击者更难获取访问权限和篡改程序的可能,并且没有增加程序的额外执行开销,起到了保护java程序的作用。
此外,本发明还针对上述代码混淆处理系统提供了相应的处理方法,进一步使得上述代码混淆处理系统更具有实用性,该处理方法具有相应的优点。
附图说明
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的代码混淆处理系统的流程图;
图2为本发明实施例提供的代码混淆处理系统基于字节码的混淆处理过程示意图;
图3为本发明实施例提供的代码混淆处理系统的处理方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种用于保护java程序的代码混淆处理系统,如图1所示,包括:
用户登录模块1,用于提供用户登录入口,上传需要混淆的java程序;
信息采集模块2,用于获取上传的java程序,得到需要混淆的class文件,并设置混淆方式及混淆级别;
代码混淆模块3,用于对需要混淆的class文件采用相应的混淆方式和混淆级别进行代码混淆处理;
Class管理模块4,用于管理代码混淆模块输出的混淆结果。
需要说明的是,本发明提供的用于保护java程序的代码混淆处理系统可以简称为java程序代码混淆处理系统(java program obfuscate system,jpos),以保护java程序、提高程序复杂度和抗攻击能力、同时不增加程序额外的执行开销为目的。jpos是针对java程序的代码混淆系统,目前只对java程序有效。
在本发明实施例提供的上述代码混淆处理系统中,采用模块化思想,内部各模块单独实现且分工明确,可以通过各模块的相互作用,对java程序实现批量的上传混淆处理,大大提升批处理速度和节省批量处理的时间,能够很好地保证混淆前后java程序行为的一致性,隐藏了业务逻辑和代码使攻击者更难获取访问权限和篡改程序的可能,并且没有增加程序的额外执行开销,起到了保护java程序的作用。
进一步地,在具体实施时,在本发明实施例提供的上述代码混淆处理系统中,信息采集模块2可以包括:
采集单元,用于获取上传的java程序;
编译单元,用于根据java字节码,将.java文件经过java编译器变成原字节码.class文件;
配置单元,用于配置目标java程序的混淆设置,从原字节码.class文件中指定不需要混淆及需要混淆的class文件,同时设置混淆方式及混淆级别。
需要说明的是,信息采集模块2可以配置目标java程序的混淆设置,获取不需要混淆和需要混淆的文件或模块等信息,,同时可设置混淆方式及混淆级别。
进一步地,在具体实施时,在本发明实施例提供的上述代码混淆处理系统中,代码混淆模块3可以包括:
复制单元,用于复制需要混淆的class文件成为目标字节码.class文件;
混淆单元,用于对目标字节码.class文件采用相应的混淆方式和混淆级别进行代码混淆处理,得到混淆后的目标混淆字节码.class文件,并删除掉需要混淆的class文件。
需要说明的是,代码混淆模块3是本发明的代码混淆处理系统的核心模块,该模块主要完成java程序代码的混淆功能,能够通过读取配置来指定混淆类型和级别,字节码.class文件实现控制流混淆和最大级别混淆,最终对上传的java程序实现代码混淆具有很好的混淆效果,同时没有增加程序的额外执行开销,能够有效的保护java程序。
以图2为例,实现代码混淆主要是基于java字节码,.java文件经过java编译器变成原字节码.class文件。接下来可以从原字节码.class文件中指定不需要混淆及需要混淆的class文件,或者直接选用原字节码.class文件作为需要混淆的class文件。在混淆时,可以先复制原字节码.class文件成为目标字节码.class文件,采用相应的混淆方式并且根据混淆级别进行混淆成为最终的目标混淆字节码.class文件,之后删除掉原字节码.class文件,最终实现根据原字节码.class文件混淆出目标混淆字节码.class文件,此时得到混淆后的目标混淆字节码.class文件。
具体地,在具体实施时,在本发明实施例提供的上述代码混淆处理系统中,代码混淆模块3在对java程序需要混淆的类文件进行混淆处理时,主要可以通过控制流混淆、名称混淆、字符串加密三种混淆加密方式,即上述混淆单元可以包括:
第一混淆子单元,用于通过控制流混淆的方式对目标字节码.class文件进行混淆处理;较佳地,第一混淆子单元中控制流混淆的方式具体可以为对目标字节码.class文件进行微小更改,改变代码的控制流,不更改代码在运行时的作用;
第二混淆子单元,用于通过名称混淆的方式对目标字节码.class文件进行混淆处理;较佳地,第二混淆子单元中名称混淆的方式具体可以为将java类名、方法名、字段名更改为无意义的字符串;
第三混淆子单元,用于通过字符串加密的方式对目标字节码.class文件进行混淆处理;较佳地,第三混淆子单元中字符串加密的方式具体可以为加密存储在类文件的常量池中的字符串文字。
本发明的混淆单元可以大大增加了攻击者对程序静态分析的难度以及反编译工具破解的复杂度,使程序的读取和逆向工程变得困难和耗时。
进一步地,在具体实施时,在本发明实施例提供的上述代码混淆处理系统中,代码混淆模块3还可以包括:
进度查阅单元,用于根据代码混淆处理进度,判断是否输出混淆操作过程信息;若是,则输出混淆操作过程信息和混淆结果;若否,则直接输出混淆结果。
具体地,在混淆单元读取混淆前程序(包括目标字节码.class文件)时,可判断出是否进行代码混淆处理,若是,则执行代码混淆处理;若否或在执行代码混淆处理后,通过进度查阅单元来判断是否输出混淆操作过程信息。最后输出混淆后程序,流程结束。
另外,在具体实施时,在本发明实施例提供的上述代码混淆处理系统中,还可以包括:控制模块,用于将信息采集模块的混淆设置信息、不需要混淆及需要混淆的文件发送至代码混淆模块。该控制模块可以是代码混淆处理系统的控制中心,对整个执行流程进行控制。
进一步地,在具体实施时,在本发明实施例提供的上述代码混淆处理系统中,Class管理模块4,具体可以用于在代码混淆模块混淆处理后将混淆结果组装成目标混淆程序,并将目标混淆程序自动上传至查询列表的相应地址下,以供用户在查询列表中查看目标混淆程序。另外,Class管理模块,具体还可以用于将混淆结果与需要混淆的文件进行对比,获取对比结果。
需要指出的是,本发明通过统计并对比混淆前后程序的大小,可以得出混淆后程序将会缩小到源程序大小的40%左右,由于程序所占的存储空间变小,所以程序在运行过程中的加载时间变短,降低了程序的执行开销,提高了程序的执行效率。
基于同一发明构思,本发明实施例还提供了一种代码混淆处理系统的处理方法,由于该方法解决问题的原理与前述一种代码混淆处理系统相似,因此该方法的实施可以参见代码混淆处理系统的实施,重复之处不再赘述。
在具体实施时,本发明实施例提供的代码混淆处理系统的处理方法,如图3所示,具体包括以下步骤:
S301、用户登录模块提供用户登录入口,上传需要混淆的java程序;
S302、信息采集模块获取上传的java程序,得到需要混淆的class文件,并设置混淆方式及混淆级别;
S303、代码混淆模块对需要混淆的class文件采用相应的混淆方式和混淆级别进行代码混淆处理;
S304、Class管理模块管理代码混淆模块输出的混淆结果。
在本发明实施例提供的上述代码混淆处理系统的处理方法中,可以对java程序实现批量的上传混淆处理,大大提升批处理速度和节省批量处理的时间,能够很好地保证混淆前后java程序行为的一致性,隐藏了业务逻辑和代码使攻击者更难获取访问权限和篡改程序的可能,并且没有增加程序的额外执行开销,起到了保护java程序的作用。
下面以一个具体实例对本发明实施例提供的上述代码混淆处理系统的处理方法进行说明,主要包括用户登录界面、信息采集配置、代码混淆进度查阅、目标混淆程序输出,具体步骤如下:
步骤一、用户通过用户登录模块登录本发明的代码混淆处理系统(即jpos系统)并上传需要混淆的java程序,当前支持格式为jar、war、zip、tar,上传其他类型报错;
步骤二、信息采集模块可配置目标java程序的混淆设置,指定需要混淆和不需要混淆的模块或者文件,同时可设置混淆方式及混淆级别;
步骤三、控制模块会获取到信息采集模块设置,将混淆设置信息、需要混淆及不需要混淆的文件提交给代码混淆模块;
步骤四、代码混淆模块对需要混淆的文件根据配置进行采用相应的混淆方式和混淆级别进行代码混淆,进行程序代码的混淆处理工作;
步骤五、Class管理模块在java程序混淆完后将混淆和未混淆的组装成目标混淆程序,同时也可以进行在此模块进行混淆前后的class文件混淆结果对比,并将目标混淆程序自动上传可查询的地址下;
步骤六、用户可在查询列表查询混淆目标程序,并可以根据需要自行下载。
关于上述各个步骤更加具体的工作过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的系统相对应,所以描述的比较简单,相关之处参见系统部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
综上,本发明实施例提供的一种用于保护java程序的代码混淆处理系统,包括:用户登录模块,用于提供用户登录入口,上传需要混淆的java程序;信息采集模块,用于获取上传的java程序,得到需要混淆的class文件,并设置混淆方式及混淆级别;代码混淆模块,用于对需要混淆的class文件采用相应的混淆方式和混淆级别进行代码混淆处理;Class管理模块,用于管理代码混淆模块输出的混淆结果。上述代码混淆处理系统内部各模块分工明确,可以对java程序实现批量的上传混淆处理,具有很好的混淆效果,大大提升批处理速度和节省批量处理的时间,能够很好地保证混淆前后java程序行为的一致性,隐藏了业务逻辑和代码使攻击者更难获取访问权限和篡改程序的可能,并且没有增加程序的额外执行开销,起到了保护java程序的作用。此外,本发明还针对上述代码混淆处理系统提供了相应的处理方法,进一步使得上述代码混淆处理系统更具有实用性,该处理方法具有相应的优点。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的用于保护java程序的代码混淆处理系统及方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
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所述的代码混淆处理系统,其特征在于,所述第一混淆子单元中控制流混淆的方式为对所述目标字节码.class文件进行微小更改,改变代码的控制流,不更改代码在运行时的作用;
所述第二混淆子单元中名称混淆的方式为将java类名、方法名、字段名更改为无意义的字符串;
所述第三混淆子单元中字符串加密的方式为加密存储在类文件的常量池中的字符串文字。
6.根据权利要求5所述的代码混淆处理系统,其特征在于,所述代码混淆模块还包括:
进度查阅单元,用于根据代码混淆处理进度,判断是否输出混淆操作过程信息;若是,则输出混淆操作过程信息和混淆结果;若否,则直接输出混淆结果。
7.根据权利要求6所述的代码混淆处理系统,其特征在于,还包括:
控制模块,用于将所述信息采集模块的混淆设置信息、不需要混淆及需要混淆的文件发送至所述代码混淆模块。
8.根据权利要求7所述的代码混淆处理系统,其特征在于,所述Class管理模块,具体用于在所述代码混淆模块混淆处理后将混淆结果组装成目标混淆程序,并将所述目标混淆程序自动上传至查询列表的相应地址下,以供用户在所述查询列表中查看所述目标混淆程序。
9.根据权利要求8所述的代码混淆处理系统,其特征在于,所述Class管理模块,具体还用于将混淆结果与所述需要混淆的文件进行对比,获取对比结果。
10.一种如权利要求1至9任一项所述代码混淆处理系统的处理方法,其特征在于,包括:
用户登录模块提供用户登录入口,上传需要混淆的java程序;
信息采集模块获取上传的java程序,得到需要混淆的class文件,并设置混淆方式及混淆级别;
代码混淆模块对所述需要混淆的class文件采用相应的混淆方式和混淆级别进行代码混淆处理;
Class管理模块管理所述代码混淆模块输出的混淆结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210453054.8A CN114816362A (zh) | 2022-04-27 | 2022-04-27 | 一种用于保护java程序的代码混淆处理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210453054.8A CN114816362A (zh) | 2022-04-27 | 2022-04-27 | 一种用于保护java程序的代码混淆处理系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114816362A true CN114816362A (zh) | 2022-07-29 |
Family
ID=82509035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210453054.8A Pending CN114816362A (zh) | 2022-04-27 | 2022-04-27 | 一种用于保护java程序的代码混淆处理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114816362A (zh) |
-
2022
- 2022-04-27 CN CN202210453054.8A patent/CN114816362A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6815385B2 (ja) | アプリケーションのコード難読化のためのシステムおよび方法 | |
Tan et al. | A root privilege management scheme with revocable authorization for Android devices | |
RU2439669C2 (ru) | Способ предотвращения обратного инжиниринга программного обеспечения, неавторизованной модификации и перехвата данных во время выполнения | |
CN107145376B (zh) | 一种主动防御方法和装置 | |
US10657262B1 (en) | Method and apparatus for securing embedded device firmware | |
Chen et al. | Toss: Tailoring online server systems through binary feature customization | |
CN102867143A (zh) | 一种恶意应用程序的快速过滤方法 | |
US8775826B2 (en) | Counteracting memory tracing on computing systems by code obfuscation | |
EP3729306B1 (en) | Compiling device and method | |
JP2021515314A (ja) | コンパイルデバイス及び方法 | |
Malandrone et al. | Powerdecode: a powershell script decoder dedicated to malware analysis | |
Ревнюк et al. | The improvement of web-application SDL process to prevent Insecure Design vulnerabilities | |
CN111475168A (zh) | 一种代码编译方法及装置 | |
Fu et al. | A watermark-aware trusted running environment for software clouds | |
CN117390603A (zh) | 基于前端代码加密的访问方法、装置、电子设备及介质 | |
CN114816362A (zh) | 一种用于保护java程序的代码混淆处理系统及方法 | |
Kalogranis | Antivirus software evasion: an evaluation of the av evasion tools | |
US20080301654A1 (en) | Program processing apparatus, program processing method and computer readable information recording medium | |
CN106873992B (zh) | 一种多要素访问控制机制描述及解析方法 | |
CN111475152B (zh) | 一种代码处理方法及装置 | |
US20170359181A1 (en) | Preventing Monoculture in Application Distribution | |
CN111400251A (zh) | 一种基于网关的文件访问方法、装置、服务器和存储介质 | |
CN107239703A (zh) | 一种动态链接库缺失的可执行程序的动态分析方法 | |
Parandaman et al. | Java code obfuscator to prevent reverse engineering of android application | |
EP4167111B1 (en) | Method and apparatus for preparing unique software |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |