kali linux reversing apktool
kali linux reversing apktool
Apktool es una de las herramientas más potentes en Kali Linux para la ingeniería inversa de aplicaciones Android. Básicamente, permite "desarmar" un archivo .apk para que puedas ver su código fuente (en formato Smali) y sus recursos (imágenes, diseños XML, etc.), modificarlos y volver a armar la aplicación.
Aquí tienes una guía rápida en español sobre cómo utilizarlo.
1. Instalación
Kali Linux suele incluirlo por defecto, pero si no lo tienes o quieres asegurarte de tener la última versión, usa:
sudo apt update
sudo apt install apktool
2. Comandos principales
Descompilar (Decode)
Para extraer el contenido de una aplicación y convertir el código binario en algo legible:
apktool d nombre_de_la_app.apk
Resultado: Se creará una carpeta con el mismo nombre donde verás el archivo
AndroidManifest.xml, la carpetares(recursos) ysmali(el código).
Recompilar (Build)
Si ya hiciste cambios en los archivos y quieres volver a crear el archivo .apk:
apktool b carpeta_de_la_app -o nueva_app_modificada.apk
3. El flujo de trabajo completo
Para que una aplicación modificada funcione en un teléfono, no basta con recompilarla; debe estar firmada. El proceso suele ser:
Descompilar:
apktool d app.apkModificar: Editas los archivos dentro de la carpeta generada.
Recompilar:
apktool b carpeta -o app_sin_firmar.apkFirmar: Usas herramientas como
jarsignerozipalignpara que Android permita su instalación.
Consejos útiles
Errores de Framework: A veces, las apps de fabricantes (como Samsung o Huawei) necesitan archivos específicos. Puedes instalarlos con
apktool if framework-res.apk.Ver código Java: Apktool te da archivos
.smali. Si prefieres ver código Java real, es mejor usar jadx (jadx-gui), que es mucho más visual y fácil de leer.Actualización: Si encuentras errores con APKs muy modernos, descarga el archivo
.jarmás reciente desde el sitio oficial de Bitbucket de Apktool.