利索能及
我要发布
收藏
专利号: 2020104794710
申请人: 平安科技(深圳)有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于iOS应用的加固方法,应用于电子装置,其特征在于,所述方法包括:

接收步骤:接收用户发出的加固iOS应用的请求,获取请求中携带的待加固的iOS应用的二进制文件;

筛选步骤:基于预设的正则表达式集获取所述二进制文件中所有协议字符串、类字符串及函数字符串作为第一字符串集,并获取所述二进制文件中属于iOS系统的协议字符串、类字符串及函数字符串作为第二字符串集,基于所述第一字符串集及所述第二字符串集筛选得到第三字符串集;

替换步骤:遍历所述第三字符串集,分别读取所述第三字符串集中的各个初始字符串的长度,基于各所述初始字符串的长度及预设的替换字符集,随机对各所述初始字符串的字符执行替换操作,将替换后的字符依次拼接,生成与各所述初始字符串对应的目标字符串;及反馈步骤:将各所述目标字符串写入预设的待编译文件中,对所述待编译文件执行编译操作得到加固后的iOS应用,将所述加固后的iOS应用反馈至所述用户;

基于预设的解析规则对所述加固后的iOS应用的二进制文件进行解析,得到第一关键数据,当侦测到用户对所述加固后的iOS应用执行安装操作后,利用预设的提取规则提取出执行安预设解析规则对所装操作后的iOS应用的二进制文件的第二关键数据,判断所述第二关键数据中的预设指标是否为预设值,当所述第二关键数据中的预设指标为预设值时,将第一预设检测结果反馈至所述用户;

当所述第二关键数据中的预设指标不为预设值时,判断所述第一关键数据的对象与所述第二关键数据的对象是否相同,当所述第一关键数据的对象与所述第二关键数据的对象均相同时,将第二预设检测结果反馈至所述用户,若否,则将第一预设检测结果反馈至所述用户,其中,所述对象包括常量字符串数据、方法数据、动态库数据、签名数据及包名数据;

其中,所述第一关键数据是分别对Mach‑O文件的Mach‑O头部、加载命令及原始段数据进行解析得到的,所述第一关键数据包括常量字符串数据、方法数据、动态库数据、签名数据及包名数据,Mach‑O头部由mach_header_64的结构体组成,加载命令由Load Command结构体组成。

2.如权利要求1所述的基于iOS应用的加固方法,其特征在于,所述筛选步骤还包括:

将所述二进制文件中实现序列化的自定义类字符串、实现预设协议的自定义类字符串、使用预设方式存储数据的类字符串及iOS系统保留的关键字添加至所述第二字符串集。

3.如权利要求1或2所述的基于iOS应用的加固方法,其特征在于,所述替换步骤还包括:

将生成的目标字符串存储至预设存储路径,判断所述预设存储路径中是否存在相同的目标字符串,当判断所述预设存储路径中存在相同的目标字符串时,利用所述替换字符集对相同的目标字符串重新执行替换操作,直至所述预设存储路径中不存在相同的目标字符串。

4.一种电子装置,用于实现如权利要求1至3中任一项所述基于iOS应用的加固方法,该电子装置包括存储器及处理器,其特征在于,所述存储器上存储基于iOS应用的加固程序,所述基于iOS应用的加固程序被所述处理器执行,实现如下步骤:接收步骤:接收用户发出的加固iOS应用的请求,获取请求中携带的待加固的iOS应用的二进制文件;

筛选步骤:基于预设的正则表达式集获取所述二进制文件中所有协议字符串、类字符串及函数字符串作为第一字符串集,并获取所述二进制文件中属于iOS系统的协议字符串、类字符串及函数字符串作为第二字符串集,基于所述第一字符串集及所述第二字符串集筛选得到第三字符串集;

替换步骤:遍历所述第三字符串集,分别读取所述第三字符串集中的各个初始字符串的长度,基于各所述初始字符串的长度及预设的替换字符集,随机对各所述初始字符串的字符执行替换操作,将替换后的字符依次拼接,生成与各所述初始字符串对应的目标字符串;及反馈步骤:将各所述目标字符串写入预设的待编译文件中,对所述待编译文件执行编译操作得到加固后的iOS应用,将所述加固后的iOS应用反馈至所述用户。

5.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括基于iOS应用的加固程序,所述基于iOS应用的加固程序被处理器执行时,实现如权利要求1至3中任一项所述基于iOS应用的加固方法。