对象混淆的方法、装置、电子设备及计算机可读介质制造方法及图纸

技术编号:24854008 阅读:21 留言:0更新日期:2020-07-10 19:07
本公开的实施例提供了一种对象混淆的方法、装置、电子设备及计算机可读介质。该方法包括:获取待处理代码;提取获得所述待处理代码中的第一对象和第二对象,所述第一对象为声明对象,所述第二对象为非声明对象;将所述待处理代码的所述第二对象进行赋值转化为声明对象,获得转化后的所述第二对象;对所述第一对象和转化后的所述第二对象的键进行处理,获得目标代码。本公开实施例提供的对象混淆的方法、装置、电子设备及计算机可读介质对待处理代码中的非声明对象形式的第二对象转化为声明对象形式,并对第一对象和转化后的第二对象的键进行处理,能够对待处理代码中的对象进行混淆,获得的目标代码其攻击门槛较高,提高代码安全性。

【技术实现步骤摘要】
对象混淆的方法、装置、电子设备及计算机可读介质
本公开涉及互联网
,具体而言,涉及一种对象混淆的方法、装置、电子设备及计算机可读介质。
技术介绍
随着网络平台(Web平台)的壮大,越来越多的企业把核心产品移植到浏览器内,然而,这之中爆发增长的利润也必然引来大量恶意攻击者。由于在Web平台建设之初,标准制定者们就是本着开放共享的原则来设计的,所以Web应用所有的源代码都是暴露在客户端中。同时,为了方便开发人员,浏览器更是增加了便捷的调试工具。上述情形导致的源码暴露给恶意攻击人员直接获取源代码进行分析提供了便利,这一现象将对业务线造成巨大的冲击。其中,由于对象调用的多样性,一般的工具都没有对对象进行处理。而在Web平台中很多数据处理都存储于一个对象中,以方便阅读及查看。对象的上述特性反而给恶意攻击人员提供了便捷。因此,需要一种新的对象混淆的方法、装置、电子设备及计算机可读介质。需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
技术实现思路
本公开实施例提供一种对象混淆的方法、装置、电子设备及计算机可读介质,进而至少在一定程度上克避免现有技术中开源共享的代码遭受攻击的现象发生。本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。本公开实施例提出一种对象混淆的方法,包括:获取待处理代码;提取获得所述待处理代码中的第一对象和第二对象,所述第一对象为声明对象,所述第二对象为非声明对象;将所述待处理代码的所述第二对象进行赋值转化为声明对象,获得转化后的所述第二对象;对所述第一对象和转化后的所述第二对象的键进行处理,获得目标代码。在本公开的一种示例性实施例中,对所述第一对象和转化后的所述第二对象的键进行处理,获得目标代码,包括以下情况的一种或多种:对所述第一对象和转化后的所述第二对象的键名进行加密处理,获得所述目标代码;对所述第一对象和转化后的所述第二对象的键名进行拆分处理,获得所述目标代码;对所述第一对象和转化后的所述第二对象的键名进行拼接处理,获得所述目标代码;对所述第一对象和转化后的所述第二对象的键名进行编码处理,获得所述目标代码。在本公开的一种示例性实施例中,对所述第一对象和转化后的所述第二对象的键进行处理,获得目标代码,还包括:将所述第一对象和转化后的所述第二对象的键名替换为目标变量;插入将所述目标变量赋值为所述第一对象和转化后的所述第二对象的键名的代码段,获得所述目标代码。在本公开的一种示例性实施例中,对所述第一对象和转化后的所述第二对象的键进行处理,获得目标代码,包括以下情况的一种或多种:对所述第一对象和转化后的所述第二对象的键值进行加密处理,获得所述目标代码;对所述第一对象和转化后的所述第二对象的键值进行拆分处理,获得所述目标代码;对所述第一对象和转化后的所述第二对象的键值进行拼接处理,获得所述目标代码;对所述第一对象和转化后的所述第二对象的键值进行编码处理,获得所述目标代码。在本公开的一种示例性实施例中,提取获得所述待处理代码中的第一对象和第二对象包括:对所述待处理代码进行转换,获得所述待处理代码的抽象语法树;对所述抽象语法树进行解析,获得所述待处理代码的所述第一对象和所述第二对象。在本公开的一种示例性实施例中,对所述第一对象和转化后的所述第二对象的键进行处理,获得目标代码包括:对所述抽象语法树中的第一对象和转化后的所述第二对象中的键进行处理,获得处理后的所述抽象语法树;将处理后的所述抽象语法树转化为代码形式,获得所述目标代码。本公开实施例提出一种对象混淆的装置,包括:代码获取模块,配置为获取待处理代码;对象提取模块,配置为提取获得所述待处理代码中的第一对象和第二对象,所述第一对象为声明对象,所述第二对象为非声明对象;对象转化模块,配置为将所述待处理代码的所述第二对象进行赋值转化为声明对象,获得转化后的所述第二对象;对象混淆模块,配置为对所述第一对象和转化后的所述第二对象的键进行处理,获得目标代码。在本公开的一种示例性实施例中,对象转化模块包括以下的一个或多个单元:加密单元、拆分单元、拼接单元、编码单元;其中,加密单元配置为将所述第一对象和转化后的所述第二对象的键名进行加密处理,获得所述目标代码;拆分单元配置为将所述第一对象和转化后的所述第二对象的键名进行拆分处理,获得所述目标代码;拼接单元配置为将所述第一对象和转化后的所述第二对象的键名进行拼接处理,获得所述目标代码;编码单元配置为将所述第一对象和转化后的所述第二对象的键名进行编码处理,获得所述目标代码。本公开实施例提出一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的对象混淆的方法。本公开实施例提出一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如上述实施例中所述的对象混淆的方法。在本公开的一些实施例所提供的技术方案中,对待处理代码中的非声明对象形式的第二对象转化为声明对象形式,并对第一对象和转化后的第二对象的键进行处理,能够对待处理代码中的对象进行混淆,获得的目标代码其攻击门槛较高,提高代码安全性。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:图1示出了可以应用本公开实施例的对象混淆的方法或装置的示例性系统架构100的示意图;图2示意性示出了根据本公开的一个实施例的对象混淆的方法的流程图;图3示意性示出了根据本公开的一个实施例的对象混淆的方法的流程图;图4示意性示出了根据本公开的一个实施例的对象混淆的方法的流程图;图5示意性示出了根据本公开的一个实施例的对象混淆的方法的流程图;图6示意性示出了根据本公开的一个实施例的对象混淆的方法的流程图;图7示意性示出了根据本公开的另一个实施例的对象混淆的方法的流程图;图8示意性示出了根据本公开的一实施例的对象混淆的装置的框图;图9示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。具体实施方式现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本文档来自技高网...

【技术保护点】
1.一种对象混淆的方法,其特征在于,包括:/n获取待处理代码;/n提取获得所述待处理代码中的第一对象和第二对象,所述第一对象为声明对象,所述第二对象为非声明对象;/n将所述待处理代码的所述第二对象进行赋值转化为声明对象,获得转化后的所述第二对象;/n对所述第一对象和转化后的所述第二对象的键进行处理,获得目标代码。/n

【技术特征摘要】
1.一种对象混淆的方法,其特征在于,包括:
获取待处理代码;
提取获得所述待处理代码中的第一对象和第二对象,所述第一对象为声明对象,所述第二对象为非声明对象;
将所述待处理代码的所述第二对象进行赋值转化为声明对象,获得转化后的所述第二对象;
对所述第一对象和转化后的所述第二对象的键进行处理,获得目标代码。


2.如权利要求1所述的方法,其特征在于,对所述第一对象和转化后的所述第二对象的键进行处理,获得目标代码,包括以下情况的一种或多种:
对所述第一对象和转化后的所述第二对象的键名进行加密处理,获得所述目标代码;
对所述第一对象和转化后的所述第二对象的键名进行拆分处理,获得所述目标代码;
对所述第一对象和转化后的所述第二对象的键名进行拼接处理,获得所述目标代码;
对所述第一对象和转化后的所述第二对象的键名进行编码处理,获得所述目标代码。


3.如权利要求2所述的方法,其特征在于,对所述第一对象和转化后的所述第二对象的键进行处理,获得目标代码,还包括:
将所述第一对象和转化后的所述第二对象的键名替换为目标变量;
插入将所述目标变量赋值为所述第一对象和转化后的所述第二对象的键名的代码段,获得所述目标代码。


4.如权利要求1所述的方法,其特征在于,对所述第一对象和转化后的所述第二对象的键进行处理,获得目标代码,包括以下情况的一种或多种:
对所述第一对象和转化后的所述第二对象的键值进行加密处理,获得所述目标代码;
对所述第一对象和转化后的所述第二对象的键值进行拆分处理,获得所述目标代码;
对所述第一对象和转化后的所述第二对象的键值进行拼接处理,获得所述目标代码;
对所述第一对象和转化后的所述第二对象的键值进行编码处理,获得所述目标代码。


5.如权利要求1所述的方法,其特征在于,提取获得所述待处理代码中的第一对象和第二对象包括:
对所述待处理代码进行转换,获得所述待处理...

【专利技术属性】
技术研发人员:郭嵩
申请(专利权)人:同盾广州科技有限公司
类型:发明
国别省市:广东;44

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

1