frida ios hook
v3.9
一个帮助您轻松使用frida的工具。它支持跟踪类、函数的脚本,并修改iOS平台上方法的返回值。
对于 Android 平台:frida-android-hook
对于 Intercept Api 在 iOS 应用程序上进行了加密:frida-ios-intercept-api
操作系统 | 支持 | 著名的 |
---|---|---|
苹果系统 | ✅ | 主要的 |
Linux | ✅ | 子 |
视窗 | ✅ | 子 |
iOS系统 | 弗里达 | Frida工具 | 支持 |
---|---|---|---|
15.7.4 | 16.1.3 | 12.2.1 | ✅ |
使用 python3.x 运行
支持生成和附加脚本来处理。
[+] Options: -p(--package) Identifier of application ex: com.apple.AppStore -n(--name) Name of application ex: AppStore -s(--script) Using script format script.js -c(--check-version) Check for the newest version -u(--update) Update to the newest version [*] Dump decrypt IPA: -d, --dump Dump decrypt application.ipa -o OUTPUT_IPA, --output=OUTPUT_IPA Specify name of the decrypted IPA [*] Dump memory of Application: --dump-memory Dump memory of application [*] HexByte Scan IPA: --hexbyte-scan Scan or Patch IPA with byte patterns --pattern=PATTERN Pattern for hexbytescan --address=ADDRESS Address for hexbytescan -t TASK, --task=TASK Task for hexbytescan [*] Information: --list-devices List All Devices --list-apps List The Installed apps --list-scripts List All Scripts --logcat Show system log of device --shell, --ssh Get the shell of connect device [*] Quick method: -m(--method) Support commonly used methods app-static(-n) bypass-jb(-p) bypass-ssl(-p) i-url-req(-n) i-crypto(-p) [*] reFlutter: --reflutter=FLUTTERFILE File Flutter.ipa
版本:3.9
[+] Add: - Add backtrace to hooking.js [+] Change: - Update frida version - Update readme, changelog, requirement [+] Fix - Fix issue #85
查看完整的变更日志
[+] 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 的完整用法
如果运行脚本但不起作用,可以尝试以下操作: frida -U -f package -l script.js
标题 | 关联 |
---|---|
弗里达 iOS 钩子 |基本用法 |安装 - 列出设备 - 列出应用程序 - 列出脚本 - Logcat - Shell | https://youtu.be/xSndHgTdv4w |
弗里达 iOS 钩子 |基本用法 |转储解密 IPA - 转储内存应用程序 - Hexbyte-Scan IPA | https://youtu.be/AUsJ9_gnWAI |
弗里达 iOS 钩子 |基本用法 |应用静态 - 绕过越狱 - 绕过 SSL - 拦截 URL + 加密 | https://youtu.be/nWhKDSzArf8 |
弗里达 iOS 钩子 |高级使用 |内存转储 - Radare2 - Iaito | https://youtu.be/nUqE4EYWiEc |
更新了一些 frida 脚本以帮助您使用 pentest ios 应用程序。使用spawn(S)或attach(A)过滤脚本
氮 | 生成/附着 | 脚本名称 | 脚本说明 | 脚本版本 |
---|---|---|---|---|
1 | S | 回溯.js | 回溯 | 1.0 |
2 | S | 绕过-flutter-ssl.js | Flutter 绕过 ssl pinning | 1.0 |
3 | S | 绕过越狱-1.js | 基本绕过越狱检测 | 1.0 |
4 | S | 绕过-ssl-ios13.js | iOS 13 绕过 ssl 固定 | 1.0 |
5 | S | 转储-ios-url-scheme.js | 调用“openURL”时转储 iOS url 方案 | 1.0 |
6 | S | 转储-ui.js | 转储当前屏幕上的用户界面结构 | 1.0 |
7 | S+A | 查找所有类-methods.js | 转储所有类中的所有方法 | 1.0 |
8 | S+A | 查找所有类.js | 转储应用程序使用的所有类 | 1.0 |
9 | S+A | 查找应用程序类-methods.js | 仅转储应用程序拥有的类内的所有方法 | 1.0 |
10 | S+A | 查找应用程序类.js | 仅转储应用程序拥有的类 | 1.0 |
11 | S+A | 查找特定方法.js | 在所有类中查找特定方法 | 1.0 |
12 | S+A | flutter_trace_function.js | iOS flutter 追踪功能 | 1.0 |
13 | S+A | hook-all-methods-of-all-classes-app-only.js | 挂钩应用程序拥有的所有类的所有方法 | 1.0 |
14 | S+A | 钩子特定类的所有方法.js | 挂钩特定类的所有方法 | 1.0 |
15 | S+A | 钩子特定方法的class.js | 挂钩特定类的特定方法 | 1.0 |
16 | S+A | 拦截-nslog.js | 拦截对 Apple 的 NSLog 日志记录功能的调用 | 1.0 |
17 号 | S+A | ios-app-static-analysis.js | iOS应用程序静态分析 | 1.0 |
18 | S | ios-生物识别-bypass.js | iOS 生物识别绕过 | 1.0 |
19 | S+A | ios-拦截-crypto-2.js | iOS 拦截加密操作 2 | 1.0 |
20 | S+A | ios-拦截-crypto.js | iOS 拦截加密操作 | 1.0 |
21 | S+A | ios-列表-apps.js | iOS 列表应用程序 | 1.0 |
22 | S+A | ios-url-scheme-fuzzing.js | iOS URL 方案模糊测试 | 1.0 |
23 | S+A | 粘贴板监控.js | 监控纸板的使用情况。有助于显示敏感字段缺乏允许数据复制的安全属性。 | 1.0 |
24 | S+A | raptor_frida_ios_autoIntercept.js | 猛禽弗里达 ios 自动拦截 | 1.0 |
25 | S+A | raptor_frida_ios_bypass1.js | 猛禽弗里达ios绕过1 | 1.0 |
26 | S+A | raptor_frida_ios_bypass2.js | 猛禽弗里达ios绕过2 | 1.0 |
27 号 | S+A | raptor_frida_ios_call.js | 猛禽弗里达 ios 通话 | 1.0 |
28 | S+A | raptor_frida_ios_debug.js | 猛禽弗里达 ios 调试 | 1.0 |
29 | S+A | raptor_frida_ios_enum.js | 猛禽弗里达 ios 枚举 | 1.0 |
30 | S+A | raptor_frida_ios_lowlevel1.js | 猛禽弗里达 ios 低级别 1 | 1.0 |
31 | S+A | raptor_frida_ios_lowlevel2.js | 猛禽弗里达 ios 低级别 2 | 1.0 |
32 | S+A | raptor_frida_ios_stalker.js | 猛禽弗里达 ios 追踪者 | 1.0 |
33 | S+A | raptor_frida_ios_touchid.js | 猛禽弗里达 ios touchid | 1.0 |
34 | S+A | raptor_frida_ios_trace.js | 猛禽弗里达 ios 跟踪 | 1.0 |
35 | S+A | 读取 nsuserdefaults.js | 显示 NSUserDefaults 的内容 | 1.0 |
36 | S+A | 读取 plist 文件.js | 显示 Plist 文件的内容 | 1.0 |
37 | S | 替换导出的method.js | 替换模块的导出函数 | 1.0 |
38 | S+A | 显示特定类的所有方法.js | 转储特定类的所有方法 | 1.0 |
39 | S+A | 显示参数类型计数和返回值类型.js | 显示类中函数的参数类型和计数以及返回值类型 | 1.0 |
40 | S+A | 显示特定类的实例变量.js | 显示特定类的所有实例变量 | 1.0 |
41 | S+A | 显示修改函数参数.js | 显示和修改类内函数的参数 | 1.0 |
42 | S+A | 显示修改方法返回值.js | 显示和修改类内特定方法的返回值 | 1.0 |
43 | S+A | show_binarycookies.js | 显示 Cookies.binarycookies 文件的内容 | 1.0 |
氮 | 任务名称 | 任务描述 |
---|---|---|
1 | openssl_hook.json | arm64 上的 OpenSSL 1.0.2 证书固定挂钩 |
2 | openssl_1_1_0_hook.json | 适用于arm64的OpenSSL 1.1.0证书固定挂钩,它修改了tls_process_server_certificate方法中的cmp指令 |
3 | openssl_hook_v2.json | arm64 上的 OpenSSL 1.0.2 证书固定挂钩,改进的模式,可能适用于不同的编译器版本或稍微更新的 OpenSSL,如果第一个版本找不到补丁位置,请使用。这些挂钩修补对 ssl3_get_server_certificate 中的 ssl_verify_cert_chain 的调用。 |
因为我不是开发人员,所以我的编码技能可能不是最好的。因此,如果此工具有任何问题或不适合您,请创建一个问题,我将尝试修复它。欢迎对新功能提出任何建议和讨论!