CN114090965A - java代码混淆方法、系统、计算机设备及存储介质 - Google Patents

java代码混淆方法、系统、计算机设备及存储介质 Download PDF

Info

Publication number
CN114090965A
CN114090965A CN202111389699.1A CN202111389699A CN114090965A CN 114090965 A CN114090965 A CN 114090965A CN 202111389699 A CN202111389699 A CN 202111389699A CN 114090965 A CN114090965 A CN 114090965A
Authority
CN
China
Prior art keywords
obfuscation
file
obfuscated
java code
code
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.)
Granted
Application number
CN202111389699.1A
Other languages
English (en)
Other versions
CN114090965B (zh
Inventor
邓卫平
梅雨
孙禄明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panoramic Zhilian Wuhan Technology Co ltd
Original Assignee
Panoramic Zhilian Wuhan Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panoramic Zhilian Wuhan Technology Co ltd filed Critical Panoramic Zhilian Wuhan Technology Co ltd
Priority to CN202111389699.1A priority Critical patent/CN114090965B/zh
Publication of CN114090965A publication Critical patent/CN114090965A/zh
Application granted granted Critical
Publication of CN114090965B publication Critical patent/CN114090965B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/14Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明涉及计算机技术领域,具体涉及一种java代码混淆方法、系统、计算机设备及存储介质。该方法包括:获取待混淆文件,判断所述待混淆文件类型,当所述待混淆文件为jar包时,解析所述jar包,定位classes文件夹所在位置,读取配置文件并进行混淆替换,生成新的jar包;当所述待混淆文件为编译阶段的java代码时,在java代码中添加混淆工具依赖,在编译时启用混淆工具进行混淆,生成混淆后的jar包次导入或导出结果的文件下载地址,以根据下载地址下载导入或导出结果文件。本发明能够自定义选择混淆方案、混淆范围,且具有字符串加密、确保混淆后的代码功能逻辑不受影响,极大提高了代码阅读难度,实现了代码的安全性,且用户具有很高的可配置性。

Description

java代码混淆方法、系统、计算机设备及存储介质
技术领域
本发明涉及计算机技术领域,具体涉及一种java代码混淆方法、系统、计算机设备及存储介质。
背景技术
Java是一种C++类型的基于对象的编程语言。它有着广泛的使用性,是目前较为流行的编程语言,因为Java平台可以被安装在大量的各种不同可应用设备上,被广泛用于web、app和服务器开发。
在java代码应用时,如果将编译后的jar包直接放到服务器上,那么一旦服务器被黑、或者在上传jar包的过程中文件遭到泄漏,不法分子很容易通过逆向工程获取源码,推测代码逻辑,从而找到系统漏洞,进行攻击,所以对源码进行保护是业界的共识。但是,目前没有比较有效的java代码保护方法。
发明内容
为解决现有技术中缺乏对有效的java代码有效保护的问题,本发明提供了一种java代码混淆方法、系统、计算机设备及存储介质,用户通过自定义选择混淆方案、混淆范围,且具有字符串加密、确保混淆后的代码功能逻辑不受影响,极大提高了代码阅读难度,实现了代码的安全性,且用户具有很高的可配置性。
本发明采用以下技术方案实现:
一种java代码混淆方法,该方法包括:
获取待混淆文件,其中,所述待混淆文件为jar包或编译阶段的java代码;
判断所述待混淆文件类型,当所述待混淆文件为jar包时,解析所述jar包,定位classes文件夹所在位置,读取配置文件并进行混淆替换,生成新的jar包;
当所述待混淆文件为编译阶段的java代码时,在java代码中添加混淆工具依赖,在编译时启用混淆工具进行混淆,生成混淆后的jar包。
作为本发明的进一步方案,当所述待混淆文件为jar包时,jar包进行混淆的方法还包括:
获取混淆规则,根据读取的配置文件确定待混淆的类文件及所述类文件的引用树;
根据混淆规则对所述类文件的类名、方法名、变量名进行替换,生成新的jar包。
进一步的,在对所述类文件的类名、方法名、变量名进行替换时,还通过JVM语法解析器对引用树进行遍历,使所述引用树的相关引用变量保持替换前后一致。
进一步的,解析所述jar包时,还包括检测并移除代码中无用的类、字段、方法和特性;读取配置文件并进行混淆替换时,还包括使用配置文件中配置的字符对类、方法、字段进行重命名,通过JVM分析类、方法、字段的引用链,将所有引用了被混淆的类、方法、字段的对应位置也进行相同的名称替换,并对混淆的类加入冗余字段及冗余方法,完成混淆替换。
作为本发明的进一步方案,当所述待混淆文件为编译阶段的java代码时,还包括:
将添加的混淆工具的生命周期设置为编译时运行,并通过读取配置文件选择混淆字符、确定不被混淆类文件以及获取混淆规则;
通过混淆规则对待混淆的类、方法上添加混淆注解;
编译java代码时,所述混淆工具定位所有添加混淆注解的类,同时读取配置文件,按照所述混淆规则对待混淆的类文件进行变量替换,生成混淆后的jar包。
进一步的,所述混淆工具使用maven引入依赖,在代码编译阶段,调用混淆包解析代码中添加有混淆注解的类、方法、字段,根据配置的混淆配置文件,确定混淆规则,对相应的字节码文件进行混淆,混淆完成后生成jar包。
进一步的,所述java代码混淆方法基于JVM字节码,使用JVM字节码对处理后的代码进行检测,确保混淆后的字节码文件可运行,在混淆时通过变量引用链进行字符替换。
本发明还包括一种java代码混淆系统,所述java代码混淆系统采用前述java代码混淆方法对代码编译后的jar包以及编译过程中的java代码进行混淆;所述java代码混淆系统包括配置模块、混淆方案选择模块、混淆模块以及校验模块。
所述配置模块用于读取配置文件;所述混淆方案选择模块,用于根据读取配置文件,选择混淆字符、确定不被混淆类文件以及获取混淆规则;所述混淆模块用于对jar包及编译阶段的java代码,通过JVM分析对象引用链,并进行混淆替换;所述校验模块用于使用JVM字节码对处理后的代码进行检测,确保混淆后的字节码文件可运行,在混淆时通过变量引用链进行字符替换。
本发明还包括一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现java代码混淆方法的步骤。
本发明还包括一种存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现java代码混淆方法的步骤。
本发明提供的技术方案,具有如下有益效果:
本发明的java代码混淆方法、系统、计算机设备及存储介质,可以对代码编译后的jar包以及编译过程中的java代码进行混淆,用户通过自定义选择混淆方案、混淆范围,且具有字符串加密、确保混淆后的代码功能逻辑不受影响,加入冗余字段及冗余方法,极大提高了代码阅读难度,实现了代码的安全性,且用户具有很高的可配置性,增强用户体验及java代码混淆后的安全性,避免不法分子通过逆向工程获取源码,对源码进行有效保护。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对示例性实施例或相关技术描述中所需要使用的附图作一简单地介绍,附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例的一种java代码混淆方法中jar包混淆加密的流程图。
图2为本发明实施例的一种java代码混淆方法中编译阶段的java代码混淆加密的流程图。
图3为本发明实施例中一种java代码混淆系统的系统框图。
图4为本发明实施例的一种java代码混淆系统中混淆过程的流程图。
图5为本发明实施例中一种计算机设备的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在本发明的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本发明提供的一种java代码混淆方法、系统、计算机设备及存储介质,即可以对代码编译后的jar包进行混淆,也可以对编译过程中的java代码进行混淆,用户可以自定义选择混淆方案、混淆范围,具有字符串加密、确保混淆后的代码功能逻辑不受影响,加入冗余字段及冗余方法,极大提高了代码阅读难度,避免不法分子通过逆向工程获取源码,实现了代码的安全性,且用户具有很高的可配置性。
下面将结合本发明示例性实施例中的附图,对本发明示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
本实施例提供了一种java代码混淆方法,该方法应用于对代码编译后的jar包以及编译过程中的java代码进行混淆,该方法包括如下步骤:
步骤一、获取待混淆文件。
在本实施例中,待混淆文件为jar包或编译阶段的java代码。
步骤二、判断所述待混淆文件类型,对待混淆文件进行混淆,生成混淆后的jar包。
图1为根据本发明一实施方式的java代码混淆方法中jar包混淆加密的流程图。如图1所示,当所述待混淆文件为jar包时,jar包混淆加密的方法,包括:
S201、解析所述jar包,定位classes文件夹所在位置;
S202、读取配置,获取混淆规则,根据读取的配置文件确定待混淆的类文件及所述类文件的引用树;
S203、根据混淆规则对所述类文件的类名、方法名、变量名进行混淆替换;
S204、在对所述类文件的类名、方法名、变量名进行替换时,还通过JVM语法解析器对引用树进行遍历,使所述引用树的相关引用变量保持替换前后一致,生成新的jar包。
在本实施例中,在通过上述方法对jar包混淆加密时,读取并解析指定jar包,检测并移除代码中无用的类、字段、方法和特性,然后使用配置文件中配置的类似iIiIIiiI、_____等难以分辨的字符对类、方法、字段进行重命名,同时需要通过JVM分析类、方法、字段的引用链,将所有引用了被混淆的类、方法、字段的对应位置也进行相同的名称替换。同时还会对混淆类加入冗余的无用字段、方法等,增加代码的阅读难度。在上述过程完成后,使用JVM对处理后的代码进行检测,确保混淆后的字节码文件是可运行的。
图2为根据本发明一实施方式的java代码混淆方法中编译阶段的java代码混淆加密的流程图。如图2所示,当所述待混淆文件为编译阶段的java代码时,编译阶段的java代码混淆加密的方法,包括:
S211、在java代码中添加混淆工具依赖,将添加的混淆工具的生命周期设置为编译时运行;
S212、通过读取配置文件选择混淆字符、确定不被混淆类文件以及获取混淆规则;
S213、在编译时启用混淆工具进行混淆,通过混淆规则在需要混淆的类、方法上添加混淆注解;
S214、编译java代码时,所述混淆工具定位所有添加混淆注解的类,同时读取配置文件,按照所述混淆规则对待混淆的类文件进行变量替换,生成混淆后的jar包。
在本实施例中,混淆工具使用maven引入依赖,在代码编译阶段,调用混淆包解析代码中添加有混淆注解的类、方法、字段,根据配置的混淆配置文件,确定混淆规则,对相应的字节码文件进行混淆,混淆完成后生成jar包。即:使用maven引入混淆工具依赖后,在代码编译阶段,会调用混淆包解析代码中添加了混淆注解的类、方法、字段,然后根据配置的混淆配置文件,确定混淆规则,对相应的字节码文件进行混淆,混淆完成后生成jar包。
在本实施例的java代码混淆方法中,本实施例基于JVM字节码,使用JVM字节码对处理后的代码进行检测,确保混淆后的字节码文件可运行,在混淆时通过变量引用链进行字符替换。
本发明的java代码混淆方法使用方便,直接通过maven引入依赖或直接运行混淆工具包即可,可配置性高,可配置混淆字符规则、混淆范围等,适用于对代码编译后的jar包以及编译过程中的java代码进行混淆,提高代码的安全性。
实施例2:
如图3所示,本实施例中提供了一种java代码混淆系统,所述java代码混淆系统采用前述java代码混淆方法对代码编译后的jar包以及编译过程中的java代码进行混淆;所述java代码混淆系统包括配置模块11、混淆方案选择模块12、混淆模块13以及校验模块14。
在本实施例中,所述配置模块11用于读取配置文件,配置文件中包括配置的字符对类、方法、字段。所述混淆方案选择模块12用于根据读取配置文件,选择混淆字符、确定不被混淆类文件以及获取混淆规则。
所述混淆模块13用于对jar包及编译阶段的java代码,通过JVM分析对象引用链,并进行混淆替换,使用配置文件中配置的字符对类、方法、字段进行重命名,通过JVM分析类、方法、字段的引用链,将所有引用了被混淆的类、方法、字段的对应位置也进行相同的名称替换,并对混淆的类加入冗余字段及冗余方法,完成混淆替换。在java代码中添加混淆工具依赖,在编译时启用混淆工具进行混淆,混淆工具使用maven引入依赖,在代码编译阶段,调用混淆包解析代码中添加有混淆注解的类、方法、字段,根据配置的混淆配置文件,确定混淆规则,对相应的字节码文件进行混淆,混淆完成后生成jar包。
所述校验模块14用于使用JVM字节码对处理后的代码进行检测,确保混淆后的字节码文件可运行,在混淆时通过变量引用链进行字符替换,在对所述类文件的类名、方法名、变量名进行替换时,还通过JVM语法解析器对引用树进行遍历,使所述引用树的相关引用变量保持替换前后一致。
参见图4所示,本发明的混淆加密过程为:通过读取配置文件,选择混淆方案,对jar包以及编译时代码混淆,开始混淆时,通过分析对象引用链,进行混淆替换,并进行字节码校验,确保混淆后的字节码文件可运行,即混淆完成。操作方便快捷,安全性高。
如图5所示,在本发明的实施例中提供了一种计算机设备200,该计算机设备200包括存储器210和处理器220,存储器210中存储有计算机程序,该处理器220被配置为用于执行所述存储器210中存储的计算机程序。本实施例中,该计算机设备200可以为智能手机或平板电脑。在本实施例中,存储器210可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在本实施例中,存储器210可进一步包括相对于处理器220远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备200。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。在本实施例中,存储器210可用于存储软件程序以及模块,如上述实施例中java代码混淆方法对应的程序指令/模块,处理器220通过运行存储在存储器210内的软件程序以及模块,从而执行各种功能应用以及数据处理,可以根据计算机设备200所处的当前场景来自动选择振动提醒模式来进行java代码混淆,既能够保证会议等场景不被打扰,又能保证用户可以感知来电,提升了计算机设备200的智能性。
处理器220是计算机设备200的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器210内的软件程序和/或模块,以及调用存储在存储器210内的数据,执行计算机设备200的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器220可包括一个或多个处理核心;在一些实施例中,处理器220可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器220中。
所述存储器210用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器220执行以实现上述方法实施例中的步骤:
获取待混淆文件,其中,所述待混淆文件为jar包或编译阶段的java代码;
判断所述待混淆文件类型,当所述待混淆文件为jar包时,解析所述jar包,定位classes文件夹所在位置,读取配置文件并进行混淆替换,生成新的jar包;
当所述待混淆文件为编译阶段的java代码时,在java代码中添加混淆工具依赖,在编译时启用混淆工具进行混淆,生成混淆后的jar包。
需要说明的是,对本申请所述java代码混淆方法而言,本领域普通测试人员可以理解实现本申请实施例所述java代码混淆方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读存储介质中,如存储在计算机设备200的存储器中,并被该计算机设备200内的至少一个处理器执行,在执行过程中可包括如所述java代码混淆方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)等。
对本申请实施例的所述java代码混淆装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。
在本发明的实施例中提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤:
获取待混淆文件,其中,所述待混淆文件为jar包或编译阶段的java代码;
判断所述待混淆文件类型,当所述待混淆文件为jar包时,解析所述jar包,定位classes文件夹所在位置,读取配置文件并进行混淆替换,生成新的jar包;
当所述待混淆文件为编译阶段的java代码时,在java代码中添加混淆工具依赖,在编译时启用混淆工具进行混淆,生成混淆后的jar包。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。
需要说明的是,上述实施例中的技术特征可进行任意组合,且组合而成的技术方案均属于本申请的保护范围。在本文中,诸如术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种java代码混淆方法;其特征在于,该java代码混淆方法包括:
获取待混淆文件,其中,所述待混淆文件为jar包或编译阶段的java代码;
判断所述待混淆文件类型,当所述待混淆文件为jar包时,解析所述jar包,定位classes文件夹所在位置,读取配置文件并进行混淆替换,生成新的jar包;
当所述待混淆文件为编译阶段的java代码时,在java代码中添加混淆工具依赖,在编译时启用混淆工具进行混淆,生成混淆后的jar包。
2.如权利要求1所述的java代码混淆方法,其特征在于:所述java代码混淆方法基于JVM字节码,使用JVM字节码对处理后的代码进行检测,确保混淆后的字节码文件可运行,在混淆时通过变量引用链进行字符替换。
3.如权利要求2所述的java代码混淆方法,其特征在于:当所述待混淆文件为jar包时,jar包进行混淆的方法还包括:
获取混淆规则,根据读取的配置文件确定待混淆的类文件及所述类文件的引用树;
根据混淆规则对所述类文件的类名、方法名、变量名进行替换,生成新的jar包。
4.如权利要求3所述的java代码混淆方法,其特征在于:在对所述类文件的类名、方法名、变量名进行替换时,还通过JVM语法解析器对引用树进行遍历,使所述引用树的相关引用变量保持替换前后一致。
5.如权利要求3所述的java代码混淆方法,其特征在于:解析所述jar包时,还包括检测并移除代码中无用的类、字段、方法和特性;读取配置文件并进行混淆替换时,还包括使用配置文件中配置的字符对类、方法、字段进行重命名,通过JVM分析类、方法、字段的引用链,将所有引用了被混淆的类、方法、字段的对应位置也进行相同的名称替换,并对混淆的类加入冗余字段及冗余方法,完成混淆替换。
6.如权利要求2所述的java代码混淆方法,其特征在于:当所述待混淆文件为编译阶段的java代码时,还包括:
将添加的混淆工具的生命周期设置为编译时运行,并通过读取配置文件选择混淆字符、确定不被混淆类文件以及获取混淆规则;
通过混淆规则对待混淆的类、方法上添加混淆注解;
编译java代码时,所述混淆工具定位所有添加混淆注解的类,同时读取配置文件,按照所述混淆规则对待混淆的类文件进行变量替换,生成混淆后的jar包。
7.如权利要求6所述的java代码混淆方法,其特征在于:所述混淆工具使用maven引入依赖,在代码编译阶段,调用混淆包解析代码中添加有混淆注解的类、方法、字段,根据配置的混淆配置文件,确定混淆规则,对相应的字节码文件进行混淆,混淆完成后生成jar包。
8.一种java代码混淆系统,其特征在于:所述java代码混淆系统采用权利要求1-7中任意一项所述java代码混淆方法对代码编译后的jar包以及编译过程中的java代码进行混淆;所述java代码混淆系统包括:
配置模块,用于读取配置文件;
混淆方案选择模块,用于根据读取配置文件,选择混淆字符、确定不被混淆类文件以及获取混淆规则;
混淆模块,用于对jar包及编译阶段的java代码,通过JVM分析对象引用链,并进行混淆替换;
校验模块,用于使用JVM字节码对处理后的代码进行检测,确保混淆后的字节码文件可运行,在混淆时通过变量引用链进行字符替换。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202111389699.1A 2021-11-22 2021-11-22 java代码混淆方法、系统、计算机设备及存储介质 Active CN114090965B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111389699.1A CN114090965B (zh) 2021-11-22 2021-11-22 java代码混淆方法、系统、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111389699.1A CN114090965B (zh) 2021-11-22 2021-11-22 java代码混淆方法、系统、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN114090965A true CN114090965A (zh) 2022-02-25
CN114090965B CN114090965B (zh) 2024-05-17

Family

ID=80303028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111389699.1A Active CN114090965B (zh) 2021-11-22 2021-11-22 java代码混淆方法、系统、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN114090965B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115473702A (zh) * 2022-08-23 2022-12-13 广西电网有限责任公司电力科学研究院 一种基于在线交互式web动态防御的内容混淆方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090049425A1 (en) * 2007-08-14 2009-02-19 Aladdin Knowledge Systems Ltd. Code Obfuscation By Reference Linking
CN106802860A (zh) * 2015-11-25 2017-06-06 阿里巴巴集团控股有限公司 无用类检测方法及装置
WO2018072408A1 (zh) * 2016-10-18 2018-04-26 广州市动景计算机科技有限公司 一种内存分析方法、装置、系统以及计算设备
CN108170433A (zh) * 2017-12-22 2018-06-15 上海你我贷互联网金融信息服务有限公司 一种Java代码的混淆方法、恢复方法及其装置
CN109992974A (zh) * 2017-12-29 2019-07-09 中兴通讯股份有限公司 虚拟机字节码文件的保护方法、设备及可读存储介质
CN111552931A (zh) * 2020-04-30 2020-08-18 平安科技(深圳)有限公司 java代码的加壳方法与系统
CN112733094A (zh) * 2021-01-12 2021-04-30 深圳伯医科技有限公司 一种Java应用程序的安全保护方法
US20210182035A1 (en) * 2019-12-13 2021-06-17 Sap Se Rapid Code Compiling System

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090049425A1 (en) * 2007-08-14 2009-02-19 Aladdin Knowledge Systems Ltd. Code Obfuscation By Reference Linking
CN106802860A (zh) * 2015-11-25 2017-06-06 阿里巴巴集团控股有限公司 无用类检测方法及装置
WO2018072408A1 (zh) * 2016-10-18 2018-04-26 广州市动景计算机科技有限公司 一种内存分析方法、装置、系统以及计算设备
CN108170433A (zh) * 2017-12-22 2018-06-15 上海你我贷互联网金融信息服务有限公司 一种Java代码的混淆方法、恢复方法及其装置
CN109992974A (zh) * 2017-12-29 2019-07-09 中兴通讯股份有限公司 虚拟机字节码文件的保护方法、设备及可读存储介质
US20210182035A1 (en) * 2019-12-13 2021-06-17 Sap Se Rapid Code Compiling System
CN111552931A (zh) * 2020-04-30 2020-08-18 平安科技(深圳)有限公司 java代码的加壳方法与系统
CN112733094A (zh) * 2021-01-12 2021-04-30 深圳伯医科技有限公司 一种Java应用程序的安全保护方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
夏涛;周敬利;余胜生;欧阳凯;: "一种面向SSL VPN的新型应用层访问控制模型", 计算机科学, no. 08, 25 August 2006 (2006-08-25), pages 32 - 36 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115473702A (zh) * 2022-08-23 2022-12-13 广西电网有限责任公司电力科学研究院 一种基于在线交互式web动态防御的内容混淆方法

Also Published As

Publication number Publication date
CN114090965B (zh) 2024-05-17

Similar Documents

Publication Publication Date Title
Ding et al. Asm2vec: Boosting static representation robustness for binary clone search against code obfuscation and compiler optimization
CN102663285B (zh) 一种apk病毒特征码的提取方法及装置
CN106845171B (zh) 一种Android应用程序代码保护机制鉴别方法
US10586026B2 (en) Simple obfuscation of text data in binary files
CN110414261B (zh) 一种数据脱敏方法、装置、设备及可读存储介质
CN106528421B (zh) 一种Android应用中SDK处理方法
CN106886445A (zh) Java数据包生成方法及设备和信息提取方法及设备
CN110659459B (zh) 一种软件代码处理方法、装置、电子设备及存储介质
EP4111302A1 (en) Detection of runtime errors using machine learning
CN110333872B (zh) 一种应用的处理方法、装置、设备和介质
CN109241707A (zh) 应用程序的混淆方法、装置和服务器
CN104331663A (zh) web shell的检测方法以及web服务器
CN114090965B (zh) java代码混淆方法、系统、计算机设备及存储介质
CN115168861A (zh) 数据安全验证方法、装置、设备及存储介质
CN113297622A (zh) 一种日志脱敏方法、系统、电子设备及存储介质
CN111428209B (zh) 一种应用程序的混淆方法、装置及存储介质
CN111752570A (zh) 一种编译方法、装置、终端及计算机可读存储介质
Zhang et al. Understanding and conquering the difficulties in identifying third-party libraries from millions of android apps
CN109165512A (zh) 一种应用程序的意图协议url漏洞检测方法及装置
CN113094664B (zh) 一种防止安卓应用程序被反编译的系统
CN111651781B (zh) 日志内容保护方法、装置、计算机设备和存储介质
CN114417347A (zh) 应用程序的漏洞检测方法、装置、设备、存储介质和程序
CN114547560A (zh) 一种处理方法、装置及电子设备
CN113282294A (zh) 基于安卓平台Java字符串混淆的方法和装置
Ali et al. Unbundle-Rewrite-Rebundle: Runtime Detection and Rewriting of Privacy-Harming Code in JavaScript Bundles

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
GR01 Patent grant
GR01 Patent grant