0Pricing
Ethical Hacking Academy · Lección

Análisis estático de APK

Descompilación

Análisis estático de APK es una lección gratuita de Ethical Hacking Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Ethical Hacking Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Ethical Hacking Academy incluye 4 lecciones en total.

Análisis estático de APK

El análisis estático de un APK consiste en inspeccionar su código y sus recursos sin ejecutarlo. El objetivo es recuperar código legible, similar al código fuente, a partir del DEX compilado.

Esto revela secretos codificados directamente, fallos lógicos y el comportamiento real de la aplicación.

Decodificación con apktool

apktool decodifica un APK para convertirlo de nuevo en recursos legibles y smali (una forma legible para humanos del bytecode DEX). También decodifica el AndroidManifest.xml binario.

Úselo para leer el manifiesto y volver a empaquetar aplicaciones modificadas.

apktool d app.apk -o app_src

Código Smali

Smali es el lenguaje similar al ensamblador del bytecode de Dalvik. Es detallado, pero permite realizar modificaciones precisas, como omitir una comprobación cambiando una comparación.

Puede aplicar parches al código smali y recompilar el APK para modificar el comportamiento de la aplicación.

const/4 v0, 0x1   # force a boolean to true

Obtención de Java con jadx

jadx descompila directamente el DEX en Java legible. La versión con interfaz gráfica, jadx-gui, permite explorar clases, buscar cadenas y seguir llamadas a métodos.

Es la forma más rápida de comprender la lógica de una aplicación.

jadx-gui app.apk

El proceso con dex2jar

Un flujo alternativo convierte DEX a JAR con dex2jar y después lo abre en un descompilador de Java como JD-GUI.

jadx suele producir una salida más limpia, pero dex2jar resulta útil cuando jadx tiene dificultades.

d2j-dex2jar app.apk -o app.jar

Búsqueda de secretos

El código descompilado suele contener secretos codificados directamente: claves de API, tokens, claves de cifrado y URL del backend.

Busque en el código fuente palabras clave como password, secret, apikey y http. Los desarrolladores creen erróneamente que el código compilado oculta estos datos.

grep -ri "api_key\|secret\|password" app_src/

Revisión del manifiesto

Una vez decodificado el manifiesto, compruebe si hay:

  • Componentes exportados.
  • android:debuggable="true".
  • android:allowBackup="true" (los datos pueden extraerse mediante una copia de seguridad).
  • Permisos peligrosos o personalizados.

Configuración de seguridad de red

La configuración de seguridad de red controla el comportamiento de TLS. Una configuración que permita tráfico en texto claro o confíe en autoridades certificadoras añadidas por el usuario debilita la seguridad del transporte.

Estos ajustes facilitan mucho la interceptación, un tema que se tratará más adelante.

<application android:usesCleartextTraffic="true">

Análisis automatizado con MobSF

MobSF (Mobile Security Framework) automatiza el análisis estático. Cargue un APK y generará un informe sobre los permisos, los secretos codificados directamente, la configuración insegura y una puntuación de riesgo.

Es excelente para la clasificación inicial, aunque la revisión manual sigue permitiendo encontrar problemas más profundos.

Reempaquetado y nueva firma

Después de parchear smali, vuelva a compilar con apktool y vuelva a firmar el APK (Android rechaza las aplicaciones sin firma). Herramientas como apksigner o uber-apk-signer se encargan de la firma.

Este flujo de trabajo sustenta las pruebas de manipulación y las modificaciones en tiempo de ejecución.

apktool b app_src -o patched.apk
uber-apk-signer -a patched.apk

Enlaces profundos y WebViews

Busque filtros de intención de enlaces profundos y usos de WebView. Los enlaces profundos mal configurados pueden abrir pantallas internas con datos controlados por un atacante.

Los WebViews que utilizan JavaScriptInterface o cargan contenido no confiable pueden exponer la aplicación a inyecciones y al robo de datos. Ambos son hallazgos habituales en las revisiones estáticas.

Comprobación rápida

Recuerde qué herramienta proporciona código Java legible directamente desde un APK.

Resumen

Ahora comprende el análisis estático de APK:

  • Use apktool para smali y el manifiesto decodificado, y jadx para obtener Java legible.
  • Busque secretos codificados de forma fija y revise el manifiesto para comprobar los indicadores de exportación, depuración y copia de seguridad.
  • Compruebe la Network Security Config y use MobSF para realizar una evaluación inicial automatizada.
  • Parchee smali y, después, vuelva a compilar y firmar para probar la manipulación.

A continuación manipulará una aplicación en ejecución con Frida.

Preguntas frecuentes

¿La lección «Análisis estático de APK» es gratis?

Sí — el texto completo de «Análisis estático de APK» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Ethical Hacking Academy, actualiza a CoddyKit PRO. El curso de Ethical Hacking Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Análisis estático de APK»?

Descompilación Practicas Ethical Hacking Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Ethical Hacking Academy?

No se requiere experiencia previa. Ethical Hacking Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Análisis estático de APK»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Ethical Hacking Academy?

Sí. Cada lección de Ethical Hacking Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Estructura de aplicaciones Android
  2. Análisis estático de APK
  3. Análisis dinámico con Frida
  4. Almacenamiento y comunicaciones inseguros
← Volver a Ethical Hacking Academy