(https://kali-linux.net/wp-content/uploads/2017/04/apktool-e1492650196539-730x338.png)
Es una herramienta para ingeniería reversa de binarios en aplicaciones Andriod.
Puede decodificar recursos lo más próximo a su forma original y reconstruirlo para luego realizar algunas modificaciones; es posible depurar pequeños fragmentos de código paso a paso.
También permite trabajar con la aplicación de manera sencilla debido a la estructura de archivos en forma de proyectos y automatizar algunas tareas repetitivas como reconstruir apk's.
No está previsto su uso para piratería y otros usos ilegales.
Puede ser utilizado para localizar, agregar algunas características o soporte a plataformas personalizadas y otros buenos propósitos.
Intente ser justo con los autores de las aplicaciónes que utiliza y tal vez sea recompesado.
Características:
Decodifica recursos lo más próximo a su forma original (incluyendo rescursos, arsc, .png, etc) para luego reconstruirlos.
Depurador Smali.
Ayuda con algunas tareas reiterativas.
Fuente: apktool
Autor: But.all
License: Apache 2.0
Usage: apktool [-q|–quiet OR -v|–verbose] COMMAND [...]
d[ecode] [OPTS] <file.apk> [<dir>]
Decode <file.apk> to <dir>.
-s, – -no-src No decodifica la fuente.
-r, – -no-res No decodifica los recursos.
-d, – -debug Decodifica en modo depuración. Corroborar el sitio del proyecto para más información.
-b, – -no-debug-info Baksmali — No guarda información de la depuración (.local, .param, .line, etc).
-f, – -force Fuerza a borrar el directorio de destino.
-t <tag>, – -frame-tag <tag> Intenta utilizar el framework para los archivos tageados con <tag>.
– -frame-path <dir>
Utiliza el directorio especificado para los archivos del framework.
– -keep-broken-res Utilicelo si hay un error y algunos recursos fueron rechazado (Ej. » Flags de configuración detectados como invalidos. Rechazando recursos», pero si quiere decodificarlo de todas formas, incluyendo los errores. Tendrá que arreglarlos manualmente antes de reconstruirlo.)
b[uild] [OPTS] [<app_path>] [<out_file>]
Construir una apk desde una aplicación ya decodificada ubicada en <app_path>.
Automaticamente detectará si los archivos fueron modificados y realizará unicamente los pasos necesarios.
Si omite <app_path> entonces el directorio actual será utilizado.
Si omite <out_file> entonces <app_path>/dist/<name_of_original.apk> será usado.
-f, – -force-all Omite la detección de cambios y compila todos los archivos
-d, – -debug Compila en modo depuración. Verificar la página del proyecto para mas información.
-a, – -aapt Carga aapt desde la ubicación especificada.
Si instala el framework <framework.apk>[<tag>] — frame-path[<location>]
Instalar el archivo del framework en el sistema.
Ejemplo de uso:Utilizar el modo depurador (d) para decodificar el archivo apk (/root/SdkControllerApp.apk):
root@kali:~# apktool d /root/SdkControllerApp.apk
I: Baksmaling...
I: Loading resource table...
I: Loaded.
I: Decoding AndroidManifest.xml with resources...
I: Loading resource table from file: /root/apktool/framework/1.apk
I: Loaded.
I: Regular manifest package...
I: Decoding file-resources...
I: Decoding values */* XMLs...
I: Done.
I: Copying assets and libs...
GitHub: https://ibotpeaches.github.io/Apktool/