🟠
Mobile Application Penetration Testing
  • Inicio
  • General
    • Metodologías y estándares
    • Recursos de aprendizaje
  • Android
    • Aplicaciones vulnerables
    • Emuladores
    • Root
    • Android Debug Bridge (adb)
    • 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
  • General
  • Lectura de código JavaScript minificado
  • Lectura de código JavaScript compilado (Hermes)
  • Herramientas

¿Te fue útil?

  1. Android
  2. Análisis estático
  3. Reversing
  4. Aplicaciones híbridas

React Native

General

Al desarrollar una aplicación con React Native, la mayor parte de la lógica se implementa en JavaScript. El proyecto también incluye clases nativas como MainActivity, escritas en Java o Kotlin, que actúan como punto de entrada en la plataforma Android. Cuando la aplicación está lista para su publicación, el código JavaScript se empaqueta en un archivo optimizado y minificado llamado index.android.bundle, lo que mejora el rendimiento y reduce el tamaño total de la aplicación.

  • APK -> Resources-> assets-> index.android.bundle

Lectura de código JavaScript minificado

apktool d application.apk -o app-decompiled

file app-decompiled/assets/index.android.bundle
app-decompiled/assets/index.android.bundle: React Native minified JavaScript, ASCII text

js-beautify app-decompiled/assets/index.android.bundle > output.js

Lectura de código JavaScript compilado (Hermes)

apktool d application.apk -o app-decompiled

file app-decompiled/assets/index.android.bundle
app-decompiled/assets/index.android.bundle: Hermes JavaScript bytecode

# hermes-dec
./hbc_decompiler.py app-decompiled/assets/index.android.bundle output.js

Herramientas

AnteriorFlutterSiguienteXamarin

Última actualización hace 13 días

¿Te fue útil?

js-beautify
hermes-dec