【技术实现步骤摘要】
一种基于源混淆的IOS端安全加密控制方法
[0001]本专利技术涉及计算机加密
,尤其涉及一种基于源混淆的IOS端安全加密控制方法。
技术介绍
[0002]随着现代科技水平的飞速发展,电子移动设备的使用高度普及,用于电子移动设备端的应用软件的数量逐渐增多,但应用软件也暴露出了越来越多的安全问题,不仅给应用软件的使用者带来了使用风险,还会损害应用软件开发者的合法权利,这就对应用软件的安全性提出了更高的要求。
[0003]当应用软件的核心代码逻辑泄露,黑客就可以利用核心代码中的漏洞对应用软件进行攻击。传统的IOS应用程序使用class
‑
dump,把应用的类和方法定义dump下来,根据方法名确定程序的处理函数的位置,从而进行hook等操作,故传统的IOS应用程序安全得不到保障。中国专利公开号CN110765425A公开了一种对ios应用程序源代码进行混淆保护的方法及系统,该方法是获取ios应用程序源代码中的待混淆代码,利用Clang工具对待混淆代码进行编译,得到抽象语法树,根据预设标记遍历抽象语法树,得到所有的类名代码、方法名代码和变量名代码,将类名代码、方法名代码和变量名代码替换为随机字符串,根据随机字符串生成对应于待混淆代码的安全代码,此方法在一定程度上提高了电子移动设备端的应用软件的程序的安全性,但该方法需要在应用软件的开发过程中对类、方法名添加宏定义,以便检索源代码中的类名代码、方法名代码和变量名代码,降低应用软件的开发效率。
技术实现思路
[0004]为此,本专利 ...
【技术保护点】
【技术特征摘要】
1.一种基于源混淆的IOS端安全加密控制方法,其特征在于,包括:判定源代码的全局数组的安全性等级,分析源代码的全局数组格式,根据所述安全性等级和所述全局数组格式选择数组生成方法,得到虚假全局数组;对所述虚假全局数组进行混淆加固处理,生成加密源代码,所述混淆加固处理包括用GetString函数替换字符串、混淆表达式、插入控制流、改写判断条件和插入反调试代码;运行加密源代码,在加密源代码的运行过程中监测加密源代码的受攻击状况,在加密源代码受到攻击时,调整加密源代码的加密程度。2.根据权利要求1所述的基于源混淆的IOS端安全加密控制方法,其特征在于,当根据所述安全性等级和所述全局数组格式选择数组生成方法时,安全性等级包括一级安全、二级安全和三级安全,数组生成方法包括一级生成方法、二级生成方法和三级生成方法,其中,各安全性等级的安全性由低到高的排序为一级安全、二级安全、三级安全,数组生成方法的混淆程度由低到高的排序为三级生成方法、二级生成方法、一级生成方法,当安全性等级为一级时,选定一级生成方法对全局数组进行转换,当安全性等级为二级时,选定二级生成方法对全局数组进行转换,当安全性等级为三级时,选定三级生成方法对全局数组进行转换。3.根据权利要求2所述的基于源混淆的IOS端安全加密控制方法,其特征在于,对所述虚假全局数组进行混淆加固处理,生成加密源代码,包括:收集字符串并将所述字符串存放在所述虚假全局数组中,用GetString函数替换字符串,生成一级加密源代码;随机选取一级加密源代码中的C/C++函数的部分运算表达式作为替换目标表达式,设置等价表达式将所述替换目标表达式替换成混淆运算表达式,生成二级加密源代码;在二级加密源代码中插入控制流,对所述控制流进行扁平化处理并重新组织,生成三级加密源代码;将三级加密源代码中的判断值为确定值的分支跳转判断条件改写为判断条件表达式,生成四级加密源代码;在四级加密源代码中随机选择一个函数或方法插入反调试代码,或在指定的类、类方法和实施方法插入反调试代码,生成加密源代码。4.根据权利要求3所述的基于源混淆的IOS端安全加密控制方法,其特征在于,当设置等价表达式将所述替换目标表达式替换成混淆运算表达式时,所述等价表达式根据复杂度由高到低划分为一级表达式、二级表达式和三级表达式,在进行一次混淆时,使用所述一级表达式对替换目标表达式进行替换。5.根据权利要求4所述的基于源混淆的IOS端安全加密控制方法,其特征在于,当加密源代码受到攻击,调整加密源代码的加密程度时,将安全性等级调整为安全性评估较低的新安全性等级,并根据新安全性等级选定新数组生成方法,生成新虚假全局数组,并对所述新虚假全局数组进行混淆加固处理,生成新加密源代码并运行,在新加密源代码的运行过程中监测新加密源代码的受攻击状况。6.根据权利要求5所述的基于源混淆的IOS端安全加密控制方法,其特征在于,当降低安全性等级时,若安全性等...
【专利技术属性】
技术研发人员:邢青,何叶,曹敏,
申请(专利权)人:新国脉数字文化股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。