noobpk/frida-ios-hook

GitHub: noobpk/frida-ios-hook

基于 Frida 的 iOS 平台安全测试工具,提供方法追踪、SSL 绕过、IPA 砸壳、内存转储等功能的一站式命令行解决方案。

Stars: 1129 | Forks: 175

image # Frida iOS hook [![CodeQL](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/c155587e7a094348.svg)](https://github.com/noobpk/frida-ios-hook/actions/workflows/codeql-analysis.yml) ![python](https://img.shields.io/badge/python-3.x-blue) ![frida](https://img.shields.io/badge/frida-16.1.4-orange) 📍 这是一个帮助你轻松使用 Frida 的工具。它支持在 iOS 平台上追踪类、函数以及修改方法返回值的脚本。 👉 针对 Android 平台:[frida-android-hook](https://github.com/noobpk/frida-android-hook) 👉 用于拦截 iOS 应用中加密 API:[frida-ios-intercept-api](https://github.com/noobpk/frida-ios-intercept-api) ## 环境操作系统支持 | OS | Supported | Noted | | ------- | ------------------ | ------- | | MacOS | :white_check_mark: | Stable | | Linux | :white_check_mark: | Stable | | Windows | :white_check_mark: | Unstable| ## 兼容性 | iOS | Frida | Frida-tools | Supported | Stable Version | | -------- | ------- | ----------- |----------------- | -------------- | | 16.7.11 | 16.7.14 | 13.7.1 | :white_check_mark:| | | 16.7.11 | 16.1.4 | 12.2.1 | :white_check_mark:| :white_check_mark:| **注意:** 建议使用稳定版以修复 Frida 17.0.1 中存在的 [ObjC not defined issue](https://github.com/frida/frida/issues/3460) 问题。 ## 功能 使用 Python3.x 运行。支持对进程进行 **spawn** 和 **attach** 脚本操作。所有选项来自 `./ioshook -h`: | Category | Option | Description | |----------|--------|-------------| | **General** | `-h`, `--help` | 显示帮助信息并退出 | | | `--cli` | 启动 iOSHook 交互式 CLI | | | `-p`, `--package` *PACKAGE* | 目标应用的 Bundle identifier (spawn) | | | `-n`, `--name` *NAME* | 目标应用的显示名称 (attach) | | | `--pid` *PID* | 目标应用的进程 ID (attach) | | | `-s`, `--script` *SCRIPT.JS* | Frida JavaScript hook 脚本路径 | | | `-c`, `--check-version` | 检查 iOSHook 更新 | | | `-u`, `--update` | 将 iOSHook 更新至最新版本 | | **Quick Method** | `-m`, `--method` *METHOD* | `app-static`, `bypass-jb`, `bypass-ssl`, `i-url-req`, `i-crypto` (根据需要使用 `-n` 或 `-p`) | | **Information** | `--list-devices` | 列出所有已连接的 Frida 设备 | | | `--list-apps` | 列出设备上所有已安装的应用 | | | `--list-scripts` | 列出所有可用的 Frida 脚本 | | | `--logcat` | 显示设备的系统日志 (idevicesyslog) | | | `--conf` | 打开并编辑 hook.conf 文件 | | | `--shell`, `--ssh` | 打开设备的 SSH shell (默认:USB 通过 iproxy) | | | `--ssh-port-forward` *LOCAL:DEVICE* | 将端口从本地转发到设备 (ssh -R) | | | `--network` *HOST:PORT* | 通过网络 SSH 连接 (默认端口 22) | | | `--local` | 使用 iproxy 通过 USB 连接 | | **Dump decrypt IPA** | `-d`, `--dump-app` | Dump 并解密应用 IPA 文件 | | | `-o`, `--output` *OUTPUT_IPA* | 解密后 IPA 的输出文件名 (不含 .ipa) | | | `--dump-output-dir` *DIR* | Dump IPA 的输出目录 (默认:`workspaces/dumps`) | | **Dump memory** | `--dump-memory` *OPTS* | Dump 正在运行的应用程序的内存 (例如 `--string`, `--read-only`) | | **HexByte Scan IPA** | `--hexbyte-scan` *MODE* | 模式:`help`, `scan`, `patch`, `json` | | | `--file` *FILE.IPA* | 要扫描/补丁的 IPA 文件 | | | `--pattern` *PATTERN* | 要搜索的十六进制模式 (例如 E103??AA????E0) | | | `--address` *ADDRESS* | 补丁地址 (格式:address,bytes,distance) | | | `--task` *TASK.json* | 用于 hexbyte 扫描的 JSON 任务文件 | | **reFlutter** | `--reflutter` *FLUTTER.IPA* | 用于 reFlutter 分析的 Flutter IPA 路径 | ## 📜 更新日志 [查看完整更新日志](https://github.com/noobpk/frida-ios-hook/blob/master/CHANGELOG.md) ## 安装 ``` [+] Latest version https://github.com/noobpk/frida-ios-hook/releases [+] Develop version git clone -b dev https://github.com/noobpk/frida-ios-hook ``` ## 环境 ``` [+] Python >= v3.0 (Recommend to use pyenv or virtualenv) 1. cd frida-ios-hook/ 2. python3 -m venv py-env 3. source py-env/bin/active ``` ## 构建 ``` 1. pip3 install -r requirements.txt 3. python3 setup.py 4. cd frida-ios-hook 5. ./ioshook -h (--help) ``` ## 使用方法 [查看 Wiki 完整用法](https://github.com/noobpk/frida-ios-hook/wiki) 如果你运行脚本但没有生效,可以尝试以下命令: ```frida -U -f package -l script.js``` ## 📺 功能演示 |Title|Link| |:---|:---| |Frida iOS Hook | Basic Usage | Install - List devices - List apps - List scripts - Logcat - Shell|[https://youtu.be/xSndHgTdv4w](https://youtu.be/xSndHgTdv4w)| |Frida iOS Hook | Basic Usage | Dump Decrypt IPA - Dump Memory App - Hexbyte-Scan IPA|[https://youtu.be/AUsJ9_gnWAI](https://youtu.be/AUsJ9_gnWAI)| |Frida iOS Hook | Basic Usage | App Static - Bypass Jailbreak - Bypass SSL - Intercept URL + Crypto|[https://youtu.be/nWhKDSzArf8](https://youtu.be/nWhKDSzArf8)| |Frida iOS Hook | Advance Usage | Memory Dump - Radare2 - Iaito|[https://youtu.be/nUqE4EYWiEc](https://youtu.be/nUqE4EYWiEc)| ## 免责声明 因为我不是开发者,所以我的编码技能可能不是最好的。因此,如果此工具有任何问题或对你不起作用,请创建一个 issue,我会尝试修复。 欢迎任何关于新功能的建议和讨论!
标签:App分析, CVE监控, Debug, Docker支持, Frida, Hook工具, iOS安全, Objective-C, Python, 云资产清单, 函数修改, 安全测试, 攻击性安全, 数据可视化, 方法追踪, 无后门, 目录枚举, 移动安全, 自定义脚本, 自定义脚本, 越狱开发, 逆向工具, 逆向工程