📍 一个帮助您轻松使用Frida的工具。它支持用于跟踪类、函数以及修改iOS平台方法返回值的脚本。
👉 对应Android平台:frida-android-hook
👉 用于拦截iOS应用中加密API:frida-ios-intercept-api
| 操作系统 | 支持情况 | 备注 |
|---|---|---|
| MacOS | ✅ | 稳定 |
| Linux | ✅ | 稳定 |
| Windows | ✅ | 不稳定 |
| iOS | Frida | Frida-tools | 支持情况 | 稳定版本 |
|---|---|---|---|---|
| 16.7.11 | 16.7.14 | 13.7.1 | ✅ | |
| 16.7.11 | 16.1.4 | 12.2.1 | ✅ | ✅ |
注意: 使用稳定版本以修复Frida 17.0.1中存在的ObjC未定义问题。
运行于python3.x。支持spawn和attach两种脚本注入方式。./ioshook -h所有选项如下:
| 类别 | 选项 | 描述 |
|---|---|---|
| 常规 | -h, --help | 显示帮助信息并退出 |
--cli | 启动iOSHook交互式CLI | |
-p, --package PACKAGE | 目标应用的Bundle标识符(spawn模式) | |
-n, --name NAME | 目标应用的显示名称(attach模式) | |
--pid PID | 目标应用的进程ID(attach模式) | |
-s, --script SCRIPT.JS | Frida JavaScript hook脚本路径 | |
-c, --check-version | 检查iOSHook更新 | |
-u, --update | 更新iOSHook至最新版本 | |
| 快速方法 | -m, --method METHOD | app-static, bypass-jb, bypass-ssl, i-url-req, i-crypto(根据需要使用-n或-p) |
| 信息 | --list-devices | 列出所有已连接的Frida设备 |
--list-apps | 列出设备上所有已安装的应用 | |
--list-scripts | 列出所有可用的Frida脚本 | |
--logcat | 显示设备系统日志(idevicesyslog) | |
--conf | 打开并编辑hook.conf文件 | |
--shell, --ssh | 打开设备的SSH Shell(默认:通过iproxy的USB连接) | |
--ssh-port-forward LOCAL:DEVICE | 将本地端口转发到设备(ssh -R) | |
--network HOST:PORT | 通过网络SSH连接(默认端口22) | |
--local | 使用iproxy通过USB连接 | |
| Dump解密IPA | -d, --dump-app | 导出并解密应用IPA文件 |
-o, --output OUTPUT_IPA | 解密IPA的输出文件名(不含.ipa) | |
--dump-output-dir DIR | 导出IPA的输出目录(默认:workspaces/dumps) | |
| Dump内存 | --dump-memory OPTS | 导出运行中应用的内存(例如:--string, --read-only) |
| HexByte扫描IPA | --hexbyte-scan MODE | 模式:help, scan, patch, json |
--file FILE.IPA | 要扫描/修补的IPA文件 | |
--pattern PATTERN | 要搜索的十六进制模式(例如E103??AA????E0) | |
--address ADDRESS | 修补地址(格式:地址,字节,距离) | |
--task TASK.json | HexByte扫描的JSON任务文件 | |
| reFlutter | --reflutter FLUTTER.IPA | 用于reFlutter分析的Flutter IPA路径 |
[+] 最新版本
https://github.com/noobpk/frida-ios-hook/releases
[+] 开发版本
git clone -b dev https://github.com/noobpk/frida-ios-hook
[+] Python >= v3.0(建议使用pyenv或virtualenv)
1. cd frida-ios-hook/
2. python3 -m venv py-env
3. source py-env/bin/activate
1. pip3 install -r requirements.txt
3. python3 setup.py
4. cd frida-ios-hook
5. ./ioshook -h (--help)
如果运行脚本但没有生效,可尝试以下命令:
frida -U -f package -l script.js
| 标题 | 链接 |
|---|---|
| Frida iOS Hook | 基本用法 | 安装 - 列出设备 - 列出应用 - 列出脚本 - Logcat - Shell | https://youtu.be/xSndHgTdv4w |
| Frida iOS Hook | 基本用法 | 导出解密IPA - 导出应用内存 - HexByte扫描IPA | https://youtu.be/AUsJ9_gnWAI |
| Frida iOS Hook | 基本用法 | 应用静态分析 - 绕过越狱 - 绕过SSL - 拦截URL+Crypto | https://youtu.be/nWhKDSzArf8 |
| Frida iOS Hook | 高级用法 | 内存导出 - Radare2 - Iaito | https://youtu.be/nUqE4EYWiEc |
由于本人并非开发者,编程能力可能并非最佳。因此,如果该工具存在任何问题或无法正常工作,请创建一个issue,我将尽力修复。 欢迎任何新功能建议和讨论!