一个IOS的ipa包被反编译后,其中已初始化的字符串都是完整可见的。 针对于iOS的Mach-O二进制通常可获得以下几种字符串信息:
1、资源文件名 2、可见的函数符号名 3、SQL语句 4、对称加密算法的key。尤其是4,很多app会用对称加密算法,但是客户端保存私钥却是不安全的!对于攻击者来说,如果能从反编译出来的二进制中获取到私钥,却是一件幸福的事!因为你的加密基本瓦解,而且攻击者会从中获得继续破解你的app的乐趣(毕竟反编译出来的二进制真的是需要有很大的毅力才能坚持得下去,不然会让人分分钟摔桌子)。
对于字符串加解密,常规的方法就是进行异或加解密。
来写个sample code: