[发明专利]一种基于swift的代码混淆方法、装置、设备及介质在审
| 申请号: | 202110982488.2 | 申请日: | 2021-08-25 |
| 公开(公告)号: | CN113761485A | 公开(公告)日: | 2021-12-07 |
| 发明(设计)人: | 张文通 | 申请(专利权)人: | 山东浪潮通软信息科技有限公司 |
| 主分类号: | G06F21/14 | 分类号: | G06F21/14 |
| 代理公司: | 北京君慧知识产权代理事务所(普通合伙) 11716 | 代理人: | 董延丽 |
| 地址: | 250101 山东省济*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 swift 代码 混淆 方法 装置 设备 介质 | ||
本说明书实施例公开了一种基于swift的代码混淆方法、装置、设备及介质,方法包括:获取待混淆的源代码,并根据程序分析方法确定出待混淆的源代码中的逻辑代码和程序结构,其中,逻辑代码为待混淆的源代码中的具备逻辑含义的代码;对源代码的程序结构进行复杂化处理,确定出混淆后的程序结构;在混淆后的程序结构的基础上,根据预设的代码混淆规则对待混淆的源代码中的逻辑代码进行混淆处理,生成混淆后的逻辑代码,其中,混淆后的逻辑代码使用swift进行撰写。通过对程序结构进行复杂化处理,降低反编译以及逆向破解风险;对逻辑代码进行混淆处理,增加攻击者阅读代码的难度以及静态搜索的难度。
技术领域
本说明书涉及计算机应用技术领域,尤其涉及一种基于swift的代码混淆方法、装置、设备及介质。
背景技术
国际标准化组织ISO对信息安全的定义为:为数据处理系统建立和采用的技术、管理上的安全保护,目的在于保护计算机硬件、软件、数据,不因偶然和恶意的原因而遭到破坏、更改和泄露,在保护信息安全领域,防止源代码泄露和篡改是极其重要的。防止源代码泄露和被篡改的重要方式之一是代码混淆技术。代码混淆是为了防止其他用户对应用程序进行反编译之后,根据函数名或者变量名来窥探应用程序。
在现有技术中,代码混淆大多依赖成熟的操作系统,比如macOS操作系统,代码混淆的适用性存在一定的限制。
发明内容
本说明书一个或多个实施例提供了一种基于swift的代码混淆方法、装置、设备及介质,用于解决如下技术问题:代码混淆大多依赖成熟的操作系统,代码混淆的适用性存在一定的限制。
本说明书一个或多个实施例采用下述技术方案:
本说明书一个或多个实施例提供一种基于swift的代码混淆方法,所述方法包括:获取待混淆的源代码,并根据程序分析方法确定出所述待混淆的源代码中的逻辑代码和程序结构,其中,所述逻辑代码为所述待混淆的源代码中的具备逻辑含义的代码;对所述源代码的程序结构进行复杂化处理,确定出混淆后的程序结构;在所述混淆后的程序结构的基础上,根据预设的代码混淆规则对所述待混淆的源代码中的逻辑代码进行混淆处理,生成混淆后的逻辑代码,其中,所述混淆后的逻辑代码使用swift进行撰写。
进一步地,所述逻辑代码包括第一类逻辑代码和第二类逻辑代码,其中,所述第一类逻辑代码包括以下一项或多项:字符串和常量;所述第二类逻辑代码包括以下一项或多项:函数名、类名以及属性名。
进一步地,所述混淆处理包括以下一项或多项:替换处理和加密处理;所述根据预设的代码混淆规则对所述逻辑代码进行混淆处理,具体包括:对所述第一类逻辑代码进行加密处理,完成所述第一类逻辑代码的混淆过程;对所述第二类逻辑代码进行替换处理,得到对应的无义代码,并对所述无义代码进行加密处理,完成所述第二类逻辑代码的混淆过程。
进一步地,所述对所述第一类逻辑代码进行加密处理,具体包括:对所述第一类逻辑代码使用第一加密方式进行加密,在所述第一加密方式中,根据不同的加密时间添加不同的随机数。
进一步地,所述对所述第二类逻辑代码进行替换处理,得到对应的无义代码,并对所述无义代码进行加密处理,具体包括:确定出所述逻辑代码中的第二类逻辑代码,并将所述第二类逻辑代码对应的名称替换为无意义的名称代码,得到所述第二类逻辑代码对应的无义代码,其中所述无意义的名称代码包括以下一项或多项:无意义符号、无意义字母以及无意义字母组合,并通过第二加密方式对所述无义代码进行加密处理。
进一步地,所述对所述源代码的程序结构进行复杂化处理,包括以下一项或多项:对所述源代码的程序结构进行复杂函数转换,将所述程序结构中的第一类函数转换为第二类函数,所述第二类函数为所述第一类函数的复杂形式;对所述程序结构进行程序语言转换,将所述程序结构中的方法函数对应的第一程序语言转换为第二程序语言。
进一步地,所述程序分析方法包括以下一项或多项:控制流分析法、数据流分析法以及别名分析法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮通软信息科技有限公司,未经山东浪潮通软信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110982488.2/2.html,转载请声明来源钻瓜专利网。





