🟠
Mobile Application Penetration Testing
  • Inicio
  • General
    • Metodologías y estándares
    • Recursos de aprendizaje
  • Android
    • Aplicaciones vulnerables
    • Emuladores
    • Root
    • Android Debug Bridge (adb)
    • SSH (Secure SHell)
    • Drozer
    • Obtención de app (APK)
    • Análisis estático
      • AndroidManifest.xml
      • Network security config
      • Directorios y archivos
      • Patrones y palabras claves en el código
      • Reversing
        • Aplicaciones nativas
          • Java / Kotlin
        • Aplicaciones híbridas
          • Flutter
          • React Native
          • Xamarin
        • Código nativo / bibliotecas compartidas
      • Ofuscación / Desofuscación
      • Automatizado
    • Análisis dinámico
      • Activities
      • Deep links
      • Content providers
      • Services
      • Anti-root
      • Captura de tráfico de red
        • Burp Suite
        • SSL Pinning
      • Almacenamiento de datos
        • SD card
        • SharedPreferences
        • Bases de datos
      • Logs
      • WebViews
      • Hooking
        • Frida
        • Objection
      • Memory dump
      • Automatizado
    • Firma de app
    • Herramientas
  • iOS
    • Aplicaciones vulnerables
    • Emuladores
    • Jailbreak
    • SSH (Secure SHell)
    • Transferencia de archivos
    • Análisis estático
      • Archivo IPA
      • Info.plist
      • Automatizado
    • Análisis dinámico
      • Anti-jailbreak
      • Biometría
      • Captura de tráfico de red
        • Burp Suite
        • SSL Pinning
      • Almacenamiento de datos
        • Archivos Property List (PList)
        • NSUserDefaults
        • Cache.db
        • Keychain
        • Screenshots
      • Frida
      • Logs
      • Hooking
    • Herramientas
  • Herramientas transversales
    • Frida
    • Frida Gadget
    • Objection
  • Checklist
    • Android application penetration testing
    • iOS application penetration testing
Con tecnología de GitBook
En esta página

¿Te fue útil?

  1. iOS
  2. Análisis dinámico

Frida

Verifica si el runtime de Objective-C se encuentra cargado en el proceso actual de la aplicación.

ObjC.available

Obtener clases de la aplicación.

ObjC.classes

Obtener métodos de una clase.

# Obtener todos los métodos de una clase
ObjC.classes.<class-name>.$ownMethods
ObjC.classes["<class-name>"].$ownMethods

# Obtener los 5 primeros métodos de una clase
ObjC.classes.<class-name>.$ownMethods.slice(0, 5)
ObjC.classes["<class-name>"].$ownMethods.slice(0, 5)

Lectura de argumentos.

var args0 = ObjC.Object(args[0]); // seft
var args1 = ObjC.Object(args[1]); // selector
var args2 = ObjC.Object(args[2]); // argumento 1
var args3 = ObjC.Object(args[3]); // argumento 2

console.log("- args0: " + args0.toString());
console.log("- args1: " + args1.toString());
console.log("- args2: " + args2.toString());
console.log("- args3: " + args3.toString());

Lectura de dirección de memoria.

Memory.readByteArray(ptr("<address>"), <length>);
Memory.readByteArray(ptr("0x00000000"), 64);

Memory.readCString(ptr("<address>"), <length>);
Memory.readCString(ptr("0x00000000"), 64);

Memory.readCString(ptr("<address>"), <length>).substring(<start>,<end>);
AnteriorScreenshotsSiguienteLogs

Última actualización hace 1 año

¿Te fue útil?