):IOS系统加固保护有哪些细节值得知道
–>
1.字符串混淆
对应用程序中使用到的字符串进行加密,保证源码被逆向后不能看出字符串的直观含义。
2.类名、方法名混淆
对应用程序的方法名和方法体进行混淆,保证源码被逆向后很难明白它的真正功能。
3.程序结构混淆加密
对应用程序逻辑结构进行打乱混排,保证源码可读性降到最低。
4.反调试、反注入等一些主动保护策略
这是一些主动保护策略,增大破解者调试、分析APP的门槛。
除了上面的一些被动保护方法,我们还可以加入一些主动的防护机制,比如反调试等。
iOS平台下的Anti-Debug方法一般有以下一些:
检查进程的状态是否为 P_TRACED。
调用ptrace请求来检查进程是否被调试。由于可能被攻击者绕过该方法的调用,在应用的多处增加ptrace函数会提高应用的安全性。
通过sysctl查看信息进程里的标记,判断自己是否正在被调试。sysctl是用以查询内核状态的接口,并允许具备相应权限的进程设置内核状态。
iOS下的这些方法,相对于Linux下的方法要少很多,例如fork一个子进程,ptrace父进程进行检测方式不再奏效。而且,要完全防止程序被调试或者被逆向,理论上是不可能的,但可以增加破解者调试的难度。
总之,添加以上的一些保护措施后,iOS APP的安全性会获得很大的增强,大大提高了破解者破解的难度。对于iOS开发者来说,有必要了解这些措施,特别是针对一些金融、证券类APP开发,保护方面的需求比较大,比如国内某知名移动支付工具就添加了一些调试检测以及反调试的功能。