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 的呼叫。 |
因為我不是開發人員,所以我的程式設計技能可能不是最好的。因此,如果此工具有任何問題或不適合您,請建立一個問題,我將嘗試修復它。歡迎對新功能提出任何建議和討論!