用途:面向 iOS 应用的二进制级逆向分析。App Store 二进制在磁盘上被加密,内核加载时才解密,因此静态工具对下载的 IPA 无效,必须先 dump 解密镜像。
使用前提:需要 IPA 或 .app 包;otool 显示 cryptid 1 时应先解密。解密在越狱设备上执行:frida-ios-dump -l 列出应用,frida-ios-dump com.target.app 产出解密 IPA;bagbak com.target.app 为替代方案;旧设备可用 Clutch、flexdecrypt。应同时 dump 扩展与框架(PlugIns/、Frameworks/),它们各自是独立 Mach-O 且有独立 entitlements。
主要能力:用 file、lipo、otool -hv/-l/-Iv、nm 查看架构、PIE、加载动态库、代码签名与符号;codesign -d --entitlements :- TargetApp.app 提取权限,留意 keychain-access-groups、App Groups、get-task-allow。Objective-C 元数据保留完整,可用 class-dump、class-dump-dyld、dsdump 恢复类与方法。Swift 名称被混淆,可用 nm app64 | swift demangle、xcrun swift-demangle,或 dsdump --swift,并查看 __swift5_types 等节。运行时用 objection -g com.target.app explore 枚举类与监视方法,或用 frida -U -f com.target.app -l hooks.js。
适用场景:读取二进制、枚举 Objective-C 类/Swift 类型/导出符号、分析嵌入框架与扩展。限制:不适用于 Android、iOS 整体评估(存储、keychain、IPC)、TLS 拦截或绕过越狱检测(各有专门技能);Flutter、Unity、Xamarin 需配合对应技能。无法越狱时仍可读包内 plist、entitlements 与资源。