iOS 逆向的环境问题:没越狱能做什么

iOS 的门槛主要在环境上,不在分析本身。分几种情况:

完全不越狱
能做的:

  • 从 IPA 提取二进制做静态分析(App Store 下载的是加密的,需要脱壳后的版本)
  • 分析 Info.plist、entitlements、URL scheme
  • 网络抓包(如果没有 pinning)

不能做的:运行时 hook、内存读写、看沙盒内数据。

越狱设备
Frida、Cycript、LLDB 全都能用,是最舒服的环境。问题是新版本 iOS 的越狱往往滞后很久,而且你可能不想把主力机越狱。

中间路线:重签名
把 IPA 用自己的证书重签,注入 FridaGadget.dylib,装到非越狱设备上。能拿到大部分运行时能力,缺点是只能分析你能重签的 app,而且 App Store 版是加密的,得先有脱壳版。

模拟器
x86_64/arm64 的模拟器版二进制跟真机不同,而且很多硬件相关功能没法测。做初步分析够用。

关于脱壳:App Store 的 app 有 FairPlay 加密,静态分析前必须脱。原理是内存里是明文,运行起来 dump 出来即可(frida-ios-dump 这类工具)。所以脱壳本身就需要一台越狱设备。

大家现在主力用什么方案?我感觉重签名 + Frida Gadget 是性价比最高的。