iOS APP 安全测试
1、ipa包加壳
首先,我们可以通过iTunes 下载 AppStore的ipa文件(苹果 把开发者上传的ipa包 进行了加壳再放到AppStore中),所以我们从AppStore下载的ipa都是加壳的,所以不能直接用来反编译。
得到ipa文件 可以分析APP 里包含的一些资源,如:图片、plist文件、静态wap页、.bundle 等。
所以不要 在plist文件、项目中的静态文件中 存储关键的信息,如果要保存,记得 对称加密(这样可以增加破解的难度)。
如果是越狱的手机,从 手机上的PP助手下载的ipa包 都是 脱壳之后的,可以直接用来反编译。
2、敏感信息存储位置
我们可以用软件 查看 APP的沙盒,查看里面存储的 文件:sqlite、plist(NSUserdefault会存到Library下的Preferences中 的 plist文件中)、图片等,NSUserdefault 中不要保存关键信息,如果要保存,还是加密吧。。sqlite也是这样子的。
iOS 8.3之前 不越狱的手机也可以 直接用MAC上的PP助手、iTool 来查看 任何APP的沙盒(系统APP除外)。iOS 8.3之后就不行了。
越狱手机都可以查看任意APP的沙盒,包括系统APP的沙盒。还有iOS的系统目录等。
3、设备安全(越狱,丢失)
越狱手机直接用PP助手下载的就是 脱壳的ipa,所以不用再脱了。对AppStore下载的ipa包 可以用工具对加壳的ipa 进行脱壳,再用IDA、Hopper 进行反编译,进行分析 ,可以得到 近乎易懂的 伪代码。但是反编译后的代码 要 一个方法一