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_srcCó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 trueObtenció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.apkEl 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.jarBú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.apkEnlaces 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
- Estructura de aplicaciones Android
- Análisis estático de APK
- Análisis dinámico con Frida
- Almacenamiento y comunicaciones inseguros