Инструмент, который поможет вам легко использовать frida. Он поддерживает сценарии для классов трассировки, функций и изменяет возвращаемые значения методов на платформе iOS.
Для платформы Android: frida-android-hook
Для Intercept API был зашифрован в приложении iOS: frida-ios-intercept-api.
ОС | Поддерживается | Отмеченный |
---|---|---|
MacOS | ✅ | основной |
Линукс | ✅ | суб |
Окна | ✅ | суб |
iOS | Фрида | Фрида-инструменты | Поддерживается |
---|---|---|---|
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-хук | Основное использование | Dump Decrypt 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 | С | backtrace.js | обратная трассировка | 1.0 |
2 | С | обход-флаттер-ssl.js | Flutter обход SSL-закрепления | 1.0 |
3 | С | обход-jailbreak-1.js | Базовый обход обнаружения джейлбрейка | 1.0 |
4 | С | обход-ssl-ios13.js | iOS 13 обходит привязку SSL | 1.0 |
5 | С | дамп-ios-url-scheme.js | Дамп схемы URL-адресов iOS при вызове «openURL» | 1.0 |
6 | С | дамп-ui.js | Дамп текущей структуры пользовательского интерфейса на экране | 1.0 |
7 | С+А | найти-все-классы-methods.js | Дамп всех методов внутри всех классов | 1.0 |
8 | С+А | найти-все-классы.js | Дамп всех классов, используемых приложением | 1.0 |
9 | С+А | find-app-classes-methods.js | Дамп всех методов внутри классов, принадлежащих только приложению. | 1.0 |
10 | С+А | find-app-classes.js | Дамп классов, принадлежащих только приложению | 1.0 |
11 | С+А | найти-специфический-method.js | Найдите конкретный метод во всех классах | 1.0 |
12 | С+А | flutter_trace_function.js | Функция отслеживания флаттера iOS | 1.0 |
13 | С+А | перехват-все-методы-всех-классов-приложение-only.js | Перехватите все методы всех классов, принадлежащих приложению. | 1.0 |
14 | С+А | перехват-все-методы-специфического-класса.js | Перехватить все методы определенного класса | 1.0 |
15 | С+А | метод-класса, специфичный для ловушки.js | Перехватить определенный метод определенного класса | 1.0 |
16 | С+А | перехват-nslog.js | Перехват вызовов функции журналирования Apple NSLog | 1.0 |
17 | С+А | ios-приложение-static-anaанализ.js | Статический анализ приложения iOS | 1.0 |
18 | С | ios-biometric-bypass.js | Биометрический обход iOS | 1.0 |
19 | С+А | ios-перехват-crypto-2.js | iOS перехватывает криптооперации 2 | 1.0 |
20 | С+А | ios-intercept-crypto.js | iOS перехватывает криптооперации | 1.0 |
21 | С+А | ios-list-apps.js | Приложение списка iOS | 1.0 |
22 | С+А | ios-url-схема-fuzzing.js | Фаззинг схемы URL-адресов iOS | 1.0 |
23 | С+А | пастаборд-monitoring.js | Контролируйте использование картона. Полезно, чтобы показать отсутствие атрибута безопасности в конфиденциальных полях, позволяющих копировать данные. | 1.0 |
24 | С+А | raptor_frida_ios_autoIntercept.js | Raptor Frida ios автоперехват | 1.0 |
25 | С+А | raptor_frida_ios_bypass1.js | Raptor Frida обход iOS 1 | 1.0 |
26 | С+А | raptor_frida_ios_bypass2.js | Раптор Фрида ios обход 2 | 1.0 |
27 | С+А | raptor_frida_ios_call.js | Раптор Фрида ios звонок | 1.0 |
28 | С+А | raptor_frida_ios_debug.js | Отладка Raptor Frida для iOS | 1.0 |
29 | С+А | raptor_frida_ios_enum.js | Raptor Frida iOS перечисление | 1.0 |
30 | С+А | raptor_frida_ios_lowlevel1.js | Raptor Frida ios низкий уровень 1 | 1.0 |
31 | С+А | raptor_frida_ios_lowlevel2.js | Raptor Frida ios низкий уровень 2 | 1.0 |
32 | С+А | raptor_frida_ios_stalker.js | Раптор Фрида ios сталкер | 1.0 |
33 | С+А | raptor_frida_ios_touchid.js | Раптор Фрида ios touchid | 1.0 |
34 | С+А | raptor_frida_ios_trace.js | Raptor Frida IOS трассировка | 1.0 |
35 | С+А | чтение-nsuserdefaults.js | Показать содержимое NSUserDefaults | 1.0 |
36 | С+А | чтение-plist-file.js | Показать содержимое файла Plist | 1.0 |
37 | С | replace-exported-method.js | Заменить экспортированную функцию модуля | 1.0 |
38 | С+А | показать все-методы-специфического-класса.js | Дамп всех методов определенного класса | 1.0 |
39 | С+А | show-argument-type-count-and-return-value-type.js | Показать тип и количество аргументов, а также тип возвращаемого значения для функции в классе. | 1.0 |
40 | С+А | показать-экземпляр-переменные-для-специфического-класса.js | Показать все переменные экземпляра определенного класса | 1.0 |
41 | С+А | show-modify-function-arguments.js | Показать и изменить аргументы функции внутри класса | 1.0 |
42 | С+А | показать-модифицировать-метод-return-value.js | Показать и изменить возвращаемое значение определенного метода внутри класса | 1.0 |
43 | С+А | show_binarycookies.js | Показать содержимое файла Cookies.binarycookies | 1.0 |
Н | Имя задачи | Описание задачи |
---|---|---|
1 | openssl_hook.json | Крючок для закрепления сертификата OpenSSL 1.0.2 на Arm64 |
2 | openssl_1_1_0_hook.json | Перехватчик закрепления сертификата OpenSSL 1.1.0 для Arm64, он изменяет инструкцию cmp в методе tls_process_server_certificate |
3 | openssl_hook_v2.json | Привязка сертификата OpenSSL 1.0.2 к Arm64, улучшенный шаблон, возможно, для другой версии компилятора или слегка обновленного OpenSSL, используйте, если первая версия не находит местоположение исправления. Эти перехватчики исправляют вызов ssl_verify_cert_chain в ssl3_get_server_certificate. |
Поскольку я не разработчик, мои навыки программирования могут быть не лучшими. Поэтому, если у вас возникли проблемы с этим инструментом или он не работает, создайте проблему, и я постараюсь ее исправить. Любые предложения по новым функциям и обсуждениям приветствуются!