Una herramienta que te ayuda a usar frida fácilmente. Admite secuencias de comandos para rastrear clases, funciones y modifica los valores de retorno de métodos en la plataforma iOS.
Para plataforma Android: frida-android-hook
Para Intercept Api se cifró en la aplicación iOS: frida-ios-intercept-api
SO | Apoyado | Anotado |
---|---|---|
Mac OS | ✅ | principal |
linux | ✅ | sub |
ventanas | ✅ | sub |
iOS | Frida | herramientas-frida | Apoyado |
---|---|---|---|
15.7.4 | 16.1.3 | 12.2.1 | ✅ |
Ejecutando con python3.x
Admite generar y adjuntar secuencias de comandos para procesar.
[+] 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
Versión: 3.9
[+] Add: - Add backtrace to hooking.js [+] Change: - Update frida version - Update readme, changelog, requirement [+] Fix - Fix issue #85
Ver registro de cambios completo
[+] 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)
Ver uso completo como Wiki
Si ejecuta el script pero no funciona, puede probar lo siguiente: frida -U -f package -l script.js
Título | Enlace |
---|---|
Gancho Frida iOS | Uso básico | Instalar - Listar dispositivos - Listar aplicaciones - Listar scripts - Logcat - Shell | https://youtu.be/xSndHgTdv4w |
Gancho Frida iOS | Uso básico | Dump Decrypt IPA - Aplicación Dump Memory - Hexbyte-Scan IPA | https://youtu.be/AUsJ9_gnWAI |
Gancho Frida iOS | Uso básico | Aplicación estática - Evitar Jailbreak - Evitar SSL - Interceptar URL + Cripto | https://youtu.be/nWhKDSzArf8 |
Gancho Frida iOS | Uso avanzado | Volcado de memoria - Radare2 - Iaito | https://youtu.be/nUqE4EYWiEc |
Se actualizaron algunos scripts de Frida para ayudarte con la aplicación Pentest para iOS. Filtrar script usando spawn(S) o adjuntar(A)
norte | Generar/Adjuntar | Nombre del guión | Descripción del guión | Versión del guión |
---|---|---|---|---|
1 | S | backtrace.js | trazar hacia atrás | 1.0 |
2 | S | bypass-flutter-ssl.js | Fijación SSL de derivación de aleteo | 1.0 |
3 | S | bypass-jailbreak-1.js | Detección básica de jailbreak de bypass | 1.0 |
4 | S | bypass-ssl-ios13.js | iOS 13 omite la fijación de SSL | 1.0 |
5 | S | dump-ios-url-scheme.js | Volcar el esquema de URL de iOS cuando se llama a "openURL" | 1.0 |
6 | S | volcado-ui.js | Volcar la estructura actual de la interfaz de usuario en pantalla | 1.0 |
7 | S+A | buscar-todas-las-clases-métodos.js | Volcar todos los métodos dentro de todas las clases. | 1.0 |
8 | S+A | buscar-todas-las-clases.js | Volcar todas las clases utilizadas por la aplicación | 1.0 |
9 | S+A | buscar-clases-de-aplicaciones-métodos.js | Vuelque todos los métodos dentro de las clases que pertenecen únicamente a la aplicación | 1.0 |
10 | S+A | buscar-clases-de-aplicaciones.js | Clases de volcado propiedad únicamente de la aplicación | 1.0 |
11 | S+A | encontrar-método-específico.js | Encuentra un método específico en todas las clases. | 1.0 |
12 | S+A | flutter_trace_function.js | Función de seguimiento de aleteo de iOS | 1.0 |
13 | S+A | gancho-todos-los-métodos-de-todas-clases-solo-aplicación.js | Enganche todos los métodos de todas las clases propiedad de la aplicación. | 1.0 |
14 | S+A | gancho-todos-los-métodos-de-clase-específica.js | Enganchar todos los métodos de una clase en particular. | 1.0 |
15 | S+A | método-específico-de-clase.js | Enganchar un método particular de una clase específica | 1.0 |
16 | S+A | interceptar-nslog.js | Interceptar llamadas a la función de registro NSLog de Apple | 1.0 |
17 | S+A | ios-app-análisis-estático.js | Análisis estático de aplicaciones iOS | 1.0 |
18 | S | ios-biometric-bypass.js | Bypass biométrico de iOS | 1.0 |
19 | S+A | ios-intercept-crypto-2.js | iOS intercepta operaciones criptográficas 2 | 1.0 |
20 | S+A | ios-intercept-crypto.js | iOS intercepta operaciones criptográficas | 1.0 |
21 | S+A | ios-lista-aplicaciones.js | Aplicación de lista de iOS | 1.0 |
22 | S+A | ios-url-scheme-fuzzing.js | Borroso del esquema de URL de iOS | 1.0 |
23 | S+A | tablero-monitoreo.js | Supervisar el uso del cartón. Útil para mostrar la falta de atributo seguro en campos confidenciales que permitan la copia de datos. | 1.0 |
24 | S+A | raptor_frida_ios_autoIntercept.js | Raptor frida ios auto interceptación | 1.0 |
25 | S+A | raptor_frida_ios_bypass1.js | Raptor frida ios bypass 1 | 1.0 |
26 | S+A | raptor_frida_ios_bypass2.js | Raptor frida ios bypass 2 | 1.0 |
27 | S+A | raptor_frida_ios_call.js | raptor frida ios llamada | 1.0 |
28 | S+A | raptor_frida_ios_debug.js | Depuración de ios raptor frida | 1.0 |
29 | S+A | raptor_frida_ios_enum.js | Enumeración de raptor frida ios | 1.0 |
30 | S+A | raptor_frida_ios_lowlevel1.js | Raptor frida ios nivel bajo 1 | 1.0 |
31 | S+A | raptor_frida_ios_lowlevel2.js | Raptor frida ios nivel bajo 2 | 1.0 |
32 | S+A | raptor_frida_ios_stalker.js | Raptor frida ios acosador | 1.0 |
33 | S+A | raptor_frida_ios_touchid.js | Raptor frida ios touchid | 1.0 |
34 | S+A | raptor_frida_ios_trace.js | Rastro raptor frida ios | 1.0 |
35 | S+A | lectura-nsuserdefaults.js | Mostrar contenidos de NSUserDefaults | 1.0 |
36 | S+A | leer-plist-file.js | Mostrar el contenido de un archivo Plist | 1.0 |
37 | S | reemplazar-exportado-método.js | Reemplazar la función exportada de un módulo | 1.0 |
38 | S+A | mostrar-todos-los-métodos-de-clase-específica.js | Volcar todos los métodos de una clase particular | 1.0 |
39 | S+A | mostrar-tipo-de-argumento-recuento-y-valor-de-retorno-tipo.js | Mostrar el tipo y recuento de argumentos y el tipo de valor de retorno para una función en una clase | 1.0 |
40 | S+A | mostrar-variables-de-instancia-para-clase-específica.js | Mostrar todas las variables de instancia de una clase particular | 1.0 |
41 | S+A | mostrar-modificar-argumentos-función.js | Mostrar y modificar argumentos de una función dentro de una clase | 1.0 |
42 | S+A | mostrar-modificar-método-valor-de retorno.js | Mostrar y modificar el valor de retorno de un método particular dentro de una clase | 1.0 |
43 | S+A | show_binarycookies.js | Mostrar el contenido del archivo Cookies.binarycookies | 1.0 |
norte | Nombre de la tarea | Descripción de la tarea |
---|---|---|
1 | openssl_hook.json | Gancho de fijación del certificado OpenSSL 1.0.2 en arm64 |
2 | openssl_1_1_0_hook.json | Gancho de fijación de certificado OpenSSL 1.1.0 para arm64, modifica la instrucción cmp en el método tls_process_server_certificate |
3 | openssl_hook_v2.json | Gancho de fijación de certificado OpenSSL 1.0.2 en arm64, patrón mejorado, posiblemente para una versión diferente del compilador o OpenSSL ligeramente actualizado, utilícelo si la primera versión no encuentra la ubicación del parche. Estos ganchos parchean la llamada a ssl_verify_cert_chain en ssl3_get_server_certificate. |
Como no soy desarrollador, es posible que mis habilidades de codificación no sean las mejores. Por lo tanto, si esta herramienta tiene algún problema o no le funciona, cree un problema e intentaré solucionarlo. ¡Cualquier sugerencia sobre nuevas funciones y debates es bienvenida!