一种基于swift的代码混淆方法、装置、设备及介质制造方法及图纸

技术编号:31234372 阅读:18 留言:0更新日期:2021-12-08 10:14
本说明书实施例公开了一种基于swift的代码混淆方法、装置、设备及介质,方法包括:获取待混淆的源代码,并根据程序分析方法确定出待混淆的源代码中的逻辑代码和程序结构,其中,逻辑代码为待混淆的源代码中的具备逻辑含义的代码;对源代码的程序结构进行复杂化处理,确定出混淆后的程序结构;在混淆后的程序结构的基础上,根据预设的代码混淆规则对待混淆的源代码中的逻辑代码进行混淆处理,生成混淆后的逻辑代码,其中,混淆后的逻辑代码使用swift进行撰写。通过对程序结构进行复杂化处理,降低反编译以及逆向破解风险;对逻辑代码进行混淆处理,增加攻击者阅读代码的难度以及静态搜索的难度。索的难度。索的难度。

【技术实现步骤摘要】
一种基于swift的代码混淆方法、装置、设备及介质


[0001]本说明书涉及计算机应用
,尤其涉及一种基于swift的代码混淆方法、装置、设备及介质。

技术介绍

[0002]国际标准化组织ISO对信息安全的定义为:为数据处理系统建立和采用的技术、管理上的安全保护,目的在于保护计算机硬件、软件、数据,不因偶然和恶意的原因而遭到破坏、更改和泄露,在保护信息安全领域,防止源代码泄露和篡改是极其重要的。防止源代码泄露和被篡改的重要方式之一是代码混淆技术。代码混淆是为了防止其他用户对应用程序进行反编译之后,根据函数名或者变量名来窥探应用程序。
[0003]在现有技术中,代码混淆大多依赖成熟的操作系统,比如macOS操作系统,代码混淆的适用性存在一定的限制。

技术实现思路

[0004]本说明书一个或多个实施例提供了一种基于swift的代码混淆方法、装置、设备及介质,用于解决如下技术问题:代码混淆大多依赖成熟的操作系统,代码混淆的适用性存在一定的限制。
[0005]本说明书一个或多个实施例采用下述技术方案:
[0006]本说明书一个或多个实施例提供一种基于swift的代码混淆方法,所述方法包括:获取待混淆的源代码,并根据程序分析方法确定出所述待混淆的源代码中的逻辑代码和程序结构,其中,所述逻辑代码为所述待混淆的源代码中的具备逻辑含义的代码;对所述源代码的程序结构进行复杂化处理,确定出混淆后的程序结构;在所述混淆后的程序结构的基础上,根据预设的代码混淆规则对所述待混淆的源代码中的逻辑代码进行混淆处理,生成混淆后的逻辑代码,其中,所述混淆后的逻辑代码使用swift进行撰写。
[0007]进一步地,所述逻辑代码包括第一类逻辑代码和第二类逻辑代码,其中,所述第一类逻辑代码包括以下一项或多项:字符串和常量;所述第二类逻辑代码包括以下一项或多项:函数名、类名以及属性名。
[0008]进一步地,所述混淆处理包括以下一项或多项:替换处理和加密处理;所述根据预设的代码混淆规则对所述逻辑代码进行混淆处理,具体包括:对所述第一类逻辑代码进行加密处理,完成所述第一类逻辑代码的混淆过程;对所述第二类逻辑代码进行替换处理,得到对应的无义代码,并对所述无义代码进行加密处理,完成所述第二类逻辑代码的混淆过程。
[0009]进一步地,所述对所述第一类逻辑代码进行加密处理,具体包括:对所述第一类逻辑代码使用第一加密方式进行加密,在所述第一加密方式中,根据不同的加密时间添加不同的随机数。
[0010]进一步地,所述对所述第二类逻辑代码进行替换处理,得到对应的无义代码,并对
所述无义代码进行加密处理,具体包括:确定出所述逻辑代码中的第二类逻辑代码,并将所述第二类逻辑代码对应的名称替换为无意义的名称代码,得到所述第二类逻辑代码对应的无义代码,其中所述无意义的名称代码包括以下一项或多项:无意义符号、无意义字母以及无意义字母组合,并通过第二加密方式对所述无义代码进行加密处理。
[0011]进一步地,所述对所述源代码的程序结构进行复杂化处理,包括以下一项或多项:对所述源代码的程序结构进行复杂函数转换,将所述程序结构中的第一类函数转换为第二类函数,所述第二类函数为所述第一类函数的复杂形式;对所述程序结构进行程序语言转换,将所述程序结构中的方法函数对应的第一程序语言转换为第二程序语言。
[0012]进一步地,所述程序分析方法包括以下一项或多项:控制流分析法、数据流分析法以及别名分析法。
[0013]本说明书一个或多个实施例提供一种基于swift的代码混淆装置,所述装置包括:确定单元,用于获取待混淆的源代码,并根据程序分析方法确定出所述待混淆的源代码中的逻辑代码和程序结构,其中,所述逻辑代码为所述待混淆的源代码中的具备逻辑含义的代码;处理单元,用于对所述源代码的程序结构进行复杂化处理,确定出混淆后的程序结构;还用于在所述混淆后的程序结构的基础上,根据预设的代码混淆规则对所述待混淆的源代码中的逻辑代码进行混淆处理,生成混淆后的逻辑代码,其中,所述混淆后的逻辑代码使用swift进行撰写。
[0014]本说明书一个或多个实施例提供一种基于swift的代码混淆设备,包括:
[0015]至少一个处理器;以及,
[0016]与所述至少一个处理器通信连接的存储器;其中,
[0017]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够:
[0018]获取待混淆的源代码,并根据程序分析方法确定出所述待混淆的源代码中的逻辑代码和程序结构,其中,所述逻辑代码为所述待混淆的源代码中的具备逻辑含义的代码;对所述源代码的程序结构进行复杂化处理,确定出混淆后的程序结构;在所述混淆后的程序结构的基础上,根据预设的代码混淆规则对所述待混淆的源代码中的逻辑代码进行混淆处理,生成混淆后的逻辑代码,其中,所述混淆后的逻辑代码使用swift进行撰写。
[0019]本说明书一个或多个实施例提供的一种存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
[0020]获取待混淆的源代码,并根据程序分析方法确定出所述待混淆的源代码中的逻辑代码和程序结构,其中,所述逻辑代码为所述待混淆的源代码中的具备逻辑含义的代码;对所述源代码的程序结构进行复杂化处理,确定出混淆后的程序结构;在所述混淆后的程序结构的基础上,根据预设的代码混淆规则对所述待混淆的源代码中的逻辑代码进行混淆处理,生成混淆后的逻辑代码,其中,所述混淆后的逻辑代码使用swift进行撰写。
[0021]本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:本说明书实施例中通过对程序结构进行复杂化处理,在编译环节将IOS代码逻辑变形、膨胀复杂化,降低反编译以及逆向破解风险;对逻辑代码进行混淆处理,增加攻击者阅读代码的难度以及静态搜索的难度,提供了一种有效的代码混淆方法。
附图说明
[0022]为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0023]图1为本说明书实施例提供的一种基于swift的代码混淆方法流程示意图;
[0024]图2为本说明书实施例提供的一种基于swift的代码混淆装置的结构示意图;
[0025]图3为本说明书实施例提供的一种基于swift的代码混淆设备的结构示意图。
具体实施方式
[0026]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于swift的代码混淆方法,其特征在于,所述方法包括:获取待混淆的源代码,并根据程序分析方法确定出所述待混淆的源代码中的逻辑代码和程序结构,其中,所述逻辑代码为所述待混淆的源代码中的具备逻辑含义的代码;对所述源代码的程序结构进行复杂化处理,确定出混淆后的程序结构;在所述混淆后的程序结构的基础上,根据预设的代码混淆规则对所述待混淆的源代码中的逻辑代码进行混淆处理,生成混淆后的逻辑代码,其中,所述混淆后的逻辑代码使用swift进行撰写。2.根据权利要求1所述的一种基于swift的代码混淆方法,其特征在于,所述逻辑代码包括第一类逻辑代码和第二类逻辑代码,其中,所述第一类逻辑代码包括以下一项或多项:字符串和常量;所述第二类逻辑代码包括以下一项或多项:函数名、类名以及属性名。3.根据权利要求2所述的一种基于swift的代码混淆方法,其特征在于,所述混淆处理包括以下一项或多项:替换处理和加密处理;所述根据预设的代码混淆规则对所述逻辑代码进行混淆处理,具体包括:对所述第一类逻辑代码进行加密处理,完成所述第一类逻辑代码的混淆过程;对所述第二类逻辑代码进行替换处理,得到对应的无义代码,并对所述无义代码进行加密处理,完成所述第二类逻辑代码的混淆过程。4.根据权利要求3所述的一种基于swift的代码混淆方法,其特征在于,所述对所述第一类逻辑代码进行加密处理,具体包括:对所述第一类逻辑代码使用第一加密方式进行加密,在所述第一加密方式中,根据不同的加密时间添加不同的随机数。5.根据权利要求3所述的一种基于swift的代码混淆方法,其特征在于,所述对所述第二类逻辑代码进行替换处理,得到对应的无义代码,并对所述无义代码进行加密处理,具体包括:确定出所述逻辑代码中的第二类逻辑代码,并将所述第二类逻辑代码对应的名称替换为无意义的名称代码,得到所述第二类逻辑代码对应的无义代码,其中所述无意义的名称代码包括以下一项或多项:无意义符号、无意义字母以及无意义字母组合,并通过第二加密方式对所述无义代码进行加密处理。6.根据权利要求1所述的一种基于swift的代码混淆方法,其特征在于,所述对所述源代码的程序结构进行复杂化处理,包括以下一项或多项:对所述源代码的程序结构进行复杂函数转换,将所述程序结构中的第...

【专利技术属性】
技术研发人员:张文通
申请(专利权)人:山东浪潮通软信息科技有限公司
类型:发明
国别省市:

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

1