¿Qué es apktool?
Apktool es una herramienta para la ingeniería inversa de aplicaciones de Android. Apktool permite descompilar los archivos APK para obtener los recursos y el código, hacer modificaciones y luego recompilarlos de nuevo en un APK.
Procedimiento
- Decompilar la aplicación
- Aplicar modificaciones
- Construir la aplicación modificada
- Alineación mediante zipalign
- Firma de la aplicación con apksigner
- Instalar la aplicación
¿Cómo instalar?
Para realizar la instalación solamente debes seguir los siguientes pasos:
Guía paso a paso
1-3 Decompilar la aplicación, hacer modificaciones y construir la aplicación
- The code smali can be modificated http://pallergabor.uw.hu/androidblog/dalvik_opcodes.html
# Decompilar la aplicaciónapktool d your_app.apk
# Haces las modificaciones
# Compilar la aplicación modificadaapktool b directory -o patched_app.apk4 Alineación mediante zipalign
Zipalign es una herramienta de optimización de archivos de archivo proporcionada por Android SDK
- Función principal: Asegurar que todos los datos sin comprimir (como las imágenes y los archivos de recursos) dentro del APK estén alineados en límites de 4 bytes relativos al inicio del archivo.
- Propósito: Esta alineación permite que el sistema operativo Android acceda directamente a los archivos del APK a través del mapeo de memoria (mmap) sin tener que descomprimir los datos primero.
- Beneficio: Resulta en un menor uso de la RAM de la aplicación, una ejecución más rápida y un menor consumo de batería. Debe ejecutarse antes de la firma.
¿Cómo encontrarlo?
Debes tener Android Studio instalado
find / -name "zipalign" 2> /dev/null¿Cómo usarlo?
/home/elcaza/Android/Sdk/build-tools/36.1.0/zipalign -v 4 patched_app.apk patched_app_aligned.apk- Cambia
elcazapor tuusuario - La ruta es la que salio en la sección de “¿Cómo encontrarlo?“
5 Firma de la aplicación con apksigner
Apksigner es una herramienta de firma de APK, introducida a partir de la versión 24.0.3 del Android SDK Build Tools. Reemplaza a la herramienta jarsigner para fines de firma de APK.
Requieres un keystore. Puedes usar uno que ya tengas o generar uno simple para pruebas con keytool.
Creación de certificado con keytool
keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000- Se establece storepass con el valor android
- Se crea el archivo debug.keystore
Firma de la aplicación
¿Cómo encontrarlo?
Debes tener Android Studio instalado
find / -name "apksigner" 2> /dev/null¿Cómo usarlo?
/home/elcaza/Android/Sdk/build-tools/36.1.0/apksigner sign --ks debug.keystore --ks-key-alias androiddebugkey patched_app_aligned.apk- La contraseña establecida en el paso anterior fue
android
6 Instalar la aplicación
adb install patched_app_aligned.apkLinks
Documentación oficial
Nota final¡Gracias por terminar de leer este artículo! uwur
— El Capitán
¿Tienes alguna duda o te gustaría comentar algo sobre este artículo?
Puedes encontrarme en: