【iOS app加密】iOS app之游戏加密防破解

来源:互联网 发布:提花图案设计软件 编辑:程序博客网 时间:2024/04/28 01:41

        【iOS app加密】iOS app之游戏加密防破解。iOS app游戏类应用有一个很泛滥但被视为鸡肋的问题,那就是iOS app被破解的问题。因为国内大多数游戏靠内购和广告盈利,游戏安装包也只是在早期象征性的收费,之后就会免费,所以很多开发者对iOS app游戏从只能在购买者设备安装变成可免费到处安装并不关注。

         App游戏被破解攻击可能是宿命,正所谓,哪里有游戏,哪里就有黑客,哪里就有破解。iOS app游戏没有加密而被破解的问题,其实不仅仅是iOS上,几乎所有平台上,无论是pc还是移动终端,都是顽疾。可能在中国这块神奇的国度,大家都习惯用盗版了,并不觉得这是个问题,iOS app游戏开发者被破解也是麻木了。甚至某些盈利性质的公司也这么想,并且还有些平台网站把盗版软件当成噱头,义正言辞地去宣传用盗版是白富美,买正版是傻X。其实iOS app没有加密被破解的问题,并不起源于中国。所以,广大iOS app游戏开发者还是需要了解如何保护iOS app加密防破解的技术。下面就来研究下iOS app之游戏加密防破解。

         1、事后检测

        在iOS app加密防破解方面,可以做事后检测,使得破解IPA无法正常运行以达到防御作用。

        而该如何做事后检测呢,最直接的检测方法是将破解前后文件系统的变化作为特征值来检测。通过分析PoedCrackMod源码,会发现根据破解前后文件时间戳的变化,或文件内容的变化为特征来判断是不可靠的,因为这些特征都可以伪造。

         2、函数名加密

         iOS app加密防破解,为0便是破解版。当检测出破解版本时注意,为了避免逆向去除检测函数,需要多处做检测。同时检测函数要做加密处理,例如iOS app函数名加密,并要在多处进行检测。

         iOS app破解所用的工具和方法都必须运行在越狱机上,因此将安全问题托付给苹果,幻想他可以将iOS系统做得无法越狱,他提供的一切安全措施都能生效(例如安全沙箱,代码签名,加密,ASLR,non executable memory,stack smashing protection)。这是不可能的,漏洞挖掘大牛门也不吃吃素的,所以自己的iOS app还是由自己来加密守护。

        具体方法如下

        1.URL编码加密

        对iOS app中出现的URL进行编码加密,防止URL被静态分析

        2.本地数据加密

        对NSUserDefaults,sqlite存储文件数据加密,保护iOS app的帐号和关键信息。

        3.网络传输数据加密

        对iOS app客户端传输数据提供加密方案,有效防止通过网络接口的拦截获取

        4.方法体,方法名高级混淆

        对iOS app的方法名和方法体进行混淆,保证源码被逆向后无法解析代码

        5.程序结构混排加密

        对iOS app逻辑结构进行打乱混排,保证源码可读性降到最低

       目前有这一iOS app加密保护技术的是移动应用安全保护第三方平台爱加密。

 

0 0