pip config set global.index-url http://mirrors.aliyun.com/pypi/simple/
获取包名:
找到ios app下载链接, ex: https://apps.apple.com/hk/app/wechat/id414478124 ,此时id=414478124
根据以下两个链接可以查询: (来自这里)
https://itunes.apple.com/cn/lookup?bundleId=[bundle id]
https://itunes.apple.com/cn/lookup?id=[app id]
注意修改地域名称,此时需要将cn改为hk
即: https://itunes.apple.com/hk/lookup?id=414478124
访问后,会下载一个1.txt文件 ,在该文件中查询 bundle
"bundleId":"com.tencent.xin"
搞定 !
ios 16以上默认关闭“开发者模式”, 可以使用mac xcode来开启,或者使用爱思助手打开
搞定
objection -g com.czzhao.binance explore
D:\ios-frida\venv\Lib\site-packages\objection\utils\update_checker.py:7: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.
from pkg_resources import parse_version
Using USB device `Apple iPhone`
Unable to connect to the frida server: this feature requires an iOS Developer Disk Image to be mounted; run Xcode briefly or use ideviceimagemounter to mount one manually
NG!
iOS 系统对证书和 App 签名有严格限制,需结合越狱或特殊工具绕过 SSL Pinning。
如果能获取 App 的 IPA 安装包,可通过重签名移除证书校验逻辑:
- 步骤:
- 解压 IPA 包,找到可执行文件(通常在
Payload/应用名.app/
目录下)。 - 使用工具(如
optool
、Hopper Disassembler
)分析并修改二进制文件,删除或替换 SSL Pinning 相关代码(如移除证书校验的函数调用)。 - 用自己的开发者证书重签名 IPA(需安装 Xcode 和苹果开发者账号)。
- 将重签名后的 IPA 安装到 iOS 设备,配合 Charles 抓包。
Android 系统相对开放,绕过 SSL Pinning 的方法更多样。
- 工具:Move Certificates
将用户安装的证书(如 Charles 证书)移动到系统证书目录(/system/etc/security/cacerts/
),使 App 信任抓包工具的证书(部分 App 仅信任系统证书)。 - 工具:TrustMeAlready
一款 Magisk 模块,通过 Hook 系统级的 SSL 校验函数(如X509TrustManager
),强制信任所有证书,绕过 SSL Pinning。
- 解压 APK,用
jadx
反编译查看源码,找到 SSL Pinning 相关逻辑(如CertificatePinner
类)。 - 修改代码移除证书校验(如删除
pin
方法调用),或替换为信任所有证书的逻辑。 - 用
apktool
重新打包,并用签名工具(如jarsigner
)签名后安装。
除了 Charles,以下工具内置了绕过 SSL Pinning 的功能,可简化操作:
Proxyman
- 支持 iOS 和 Android,内置 “SSL Pinning Bypass” 功能,通过 Frida 自动注入代码,无需手动操作。
- 适用于大多数 App,配置简单,界面友好。
Burp Suite + 插件
- 配合
Burp Suite Mobile Assistant
插件,可自动绕过部分 App 的 SSL Pinning。 - 需在设备上安装插件对应的证书和代理配置。
Mitmproxy + 脚本
- 一款命令行抓包工具,可通过 Python 脚本自定义 SSL 校验逻辑,例如:
from mitmproxy import ctx
def verify(server_cert, host):
return True
- 法律与伦理风险:抓包他人 App 的数据可能违反用户协议或法律法规,仅限用于合法的测试或学习。
- 兼容性问题:部分 App 采用了更复杂的校验(如证书哈希动态验证、二进制加固),可能需要结合逆向工程(如 IDA Pro 分析)才能绕过。
- 系统版本限制:新系统(如 iOS 16+、Android 13+)对 Hook 和证书管理的限制更严格,可能需要特定版本的工具配合。
通过上述方法,大部分采用 SSL Pinning 的 App 都能被成功抓包,具体选择哪种方案需根据设备是否越狱 /root、是否有 App 安装包等条件决定。