executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
analyzing-ios-app-security-with-objection使用基于 Frida 的工具包 Objection 对 iOS 应用程序进行运行时移动安全探测, 无需越狱即可与应用内部交互。适用于评估 iOS 应用安全态势、绕过客户端防护措施、 转储 Keychain 条目、检查文件系统存储以及评估运行时行为。当请求涉及 iOS 安全测试、 Objection 运行时分析、基于 Frida 的 iOS 评估或移动运行时探测时激活。
Independent GitHub snapshot · Automated classification · Original documentation governs
以下情况使用本 skill:
不适用于:在没有明确授权的情况下在生产设备上使用本 skill——Objection 会修改应用运行时行为,可能触发安全监控。
pip install objectionpip install frida-toolsobjection patchipa 向 IPA 注入 Frida gadget针对越狱设备:
# 通过 Cydia/Sileo 在设备上安装 Frida server
# SSH 登录设备并启动 Frida server
ssh root@<device_ip> "/usr/sbin/frida-server -D"
# 验证 Frida 连接
frida-ps -U # 列出 USB 连接设备上的进程
针对非越狱设备(授权测试):
# 向 IPA 注入 Frida gadget
objection patchipa --source target.ipa --codesign-signature "Apple Development: test@example.com"
# 安装已打包的 IPA
ideviceinstaller -i target-patched.ipa
# 通过 bundle ID 附加到正在运行的应用
objection --gadget "com.target.app" explore
# 或启动新的应用进程
objection --gadget "com.target.app" explore --startup-command "ios hooking list classes"
附加成功后,Objection 提供交互式 REPL 进行运行时探测。
# 转储应用可访问的 iOS Keychain 条目
ios keychain dump
# 列出应用沙盒中的文件
ios plist cat Info.plist
env # 显示应用环境路径
# 检查 NSUserDefaults 中的敏感数据
ios nsuserdefaults get
# 列出 SQLite 数据库
sqlite connect app_data.db
sqlite execute query "SELECT * FROM credentials"
# 检查粘贴板中的敏感数据
ios pasteboard monitor
# 禁用 SSL/TLS 证书固定(certificate pinning)
ios sslpinning disable
# 通过 Burp Suite 代理观察流量,验证 pinning 是否已绕过
# 监控与网络相关的类方法调用
ios hooking watch class NSURLSession
ios hooking watch class NSURLConnection
# 列出所有 Objective-C 类
ios hooking list classes
# 搜索与认证相关的类
ios hooking search classes Auth
ios hooking search classes Login
ios hooking search classes Token
# Hook 认证方法以观察参数
ios hooking watch method "+[AuthManager validateToken:]" --dump-args --dump-return
# 监控生物认证调用
ios hooking watch class LAContext
# 检查越狱检测实现
ios jailbreak disable
# 模拟越狱检测绕过
ios jailbreak simulate
# 列出已加载的框架和库
memory list modules
# 在内存中搜索敏感字符串
memory search "password" --string
memory search "api_key" --string
memory search "Bearer" --string
# 转储特定内存区域
memory dump all dump_output/
# 列出应用注册的 URL scheme
ios info binary
ios bundles list_frameworks
# Hook URL scheme 处理程序
ios hooking watch method "-[AppDelegate application:openURL:options:]" --dump-args
# 监控剪贴板访问
ios pasteboard monitor
# 检查自定义键盘限制
ios hooking search classes UITextField
| 术语 | 定义 |
|---|---|
| Objection | 基于 Frida 构建的运行时移动探测工具包,提供用于常见安全测试任务的预置脚本 |
| Frida Gadget | 注入到应用进程中的共享库,无需越狱即可实现 Frida 插桩 |
| Keychain | iOS 安全凭据存储系统;Objection 可转储目标应用 keychain access group 可访问的条目 |
| SSL Pinning 绕过 | 对证书验证逻辑进行运行时修改,允许代理拦截 HTTPS 流量 |
| 方法 Hook(Method Hooking) | 在运行时拦截 Objective-C/Swift 方法调用,以观察参数、返回值并修改行为 |
--startup-command 在应用生命周期早期 hook 反 Frida 检测逻辑。ios hooking list classes 配合 grep 查找反混淆后的名称。