Sunteți pe pagina 1din 4

TUTORIALES PRACTICOS PAP DE ANDROID

Cómo Utilizar ApkTool en Windows Para Descompilar y


Compilar Aplicaciones Android
Abstract
Apktool es una herramienta de ingeniería inversa para la descompilación y recompilación Jorge E. Hernández M.
de aplicaciones Android. Puede decodificar los archivos fuente y de recursos originales Ingeniero Electrónico
de una aplicación y reconstruirlos después de hacer modificaciones. Esto facilita la
construcción de archivos apk y otras tareas repetitivas relacionadas con el desarrollo de
Universidad Distrital FJC
apps. También es útil para analizar aplicaciones, agregar o quitar funciones, soportar Bogotá (CO) – 2019
plataformas personalizadas, etc. No está proyectada para piratería y otros usos ilegales.

En este tutorial se explica paso a paso la utilización de la herramienta ApkTool para decodificar o descompilar el archivo
apk de una aplicación existente, ejecutar modificaciones en sus archivos fuente y de recursos, y reconstruirla o recompilarla
con estas modificaciones incorporadas. También se explica cómo utilizar la herramienta WindroidSL Signed para firmar la
aplicación reconstruida y posibilitar su instalación en un dispositivo Android. Igualmente se suministran los links desde
donde se pueden descargar libremente las herramientas, recursos y medios que se requieren para la ejecución de la actividad.

Paso 1. Descargar la carpeta comprimida “APKTool-windows.rar” desde el link https://bit.ly/2xBiPkc. Esta carpeta
contiene las siguientes herramientas necesarias para el proceso de descompilación y compilación de archivos APK:
 WindroidSL Signer
 apktol.jar
 aapt.exe
 apktool.bat

Paso 2. Descomprimir en el escritorio o en otra localización conveniente la carpeta comprimida “APKTool-windows.rar”


y verificar que contenga las herramientas antes mencionadas. La carpeta adoptará el nombre “ApkTool” una vez
descomprimida.

Paso 3. Instalar la herramienta ApkTool copiando la carpeta descomprimida “ApkTool” en la raíz del disco C. De este
modo se facilita el acceso a la misma desde la ventana de comandos de Windows.

Paso 4. Seleccionar el archivo apk de la aplicación que se desea procesar, y copiarlo en la carpeta “ApkTool” anterior. En
este caso se utilizará como ejemplo una aplicación denominada “kamasutra-guia-ilustrada-3-0-es-android.apk”, la cual será
modificada, en principio, sustituyendo algunos archivos de medios (pdfs, imágenes, audio) que contiene por otros y
realizando otros algunos cambios menores en el código. El apk original de esta aplicación puede ser descargado del link
https://bit.ly/2XWSxrL o https://bit.ly/2LHbJTy.
Paso 5. Abrir una ventana de comandos de Windows en la carpeta “ApkTool” presionando la tecla Shift ( ) y
seleccionando con el clic derecho del mouse la opción “Abrir ventana de comandos aquí”.

Paso 6. Descompilar el archivo apk escribiendo en la ventana de comandos el comando apktool d seguido del nombre
completo de la aplicación (kamasutra-guia-ilustrada-3-0-es-android.apk) y pulsando la tecla Enter. Esperar hasta que
se complete el proceso de descompilado. Por regla general, el nombre del comando y el de la aplicación deben siempre
designarse y escribirse en minúsculas. El nombre del archivo apk no debe tampoco contener espacios en blanco. La
herramienta ApkTool no distingue entre mayúsculas y minúsculas.

Paso 7. Cerrar la ventana de comandos una vez completado el proceso de descompilado. Se observará que en la carpeta
ApkTool aparece una nueva carpeta con el mismo nombre de la aplicación (kamasutra-guia-ilustrada-3-0-es-android),
la cual contiene en su interior, descompilados y accesibles, todos los directorios y archivos fuente y de recursos utilizados
durante su creación.

Paso 8. Realizar las modificaciones deseadas en los archivos fuente y de recursos correspondientes de la carpeta de la
aplicación descompilada. En este caso, se efectuarán solamente los siguientes cambios para personalizar la aplicación:
 En la carpeta “assets” se cambiará el archivo de imagen “cover.png” (527x761) por otro del mismo nombre y
tamaño, pero con contenido diferente.
 En la misma carpeta anterior se cambiarán los archivos PDF “pdffile1” (55 páginas, 1.01MB) y “pdfile2” (19
páginas, 342KB) por otros del mismo nombre y de tamaño similar, pero con contenidos diferentes.
 En la carpeta “res/drawable” se cambiará el archivo de imagen “icon.png” (512x512) por otro del mismo nombre
y tamaño, pero con contenido diferente.
 En la carpeta “res/raw” se cambiará el archivo de audio “flipsound.mp3” (7.31KB, 64kbps) por otro del mismo
nombre y de tamaño similar, pero con contenido diferente.
 En el archivo “AndroidManifest.xml” se cambiará el nombre original de la aplicación (Kamasutra) por uno nuevo
(Aisha). Para ello, abrir el archivo con el bloc de notas (Notepad) o, preferiblemente, el Office XML Handler,
buscar al comienzo las líneas donde se encuentran las etiquetas XML <> y <activity android>, cambiar donde dice
“Kamasutra” por “Aisha” y guardar o salvar los cambios.
 En el archivo “assets/cover.xml” se cambiará la información original del autor por una nueva. Para ello, abrir el
archivo con el bloc de notas o el Office XML Handler, buscar al final las líneas donde se encuentran las etiquetas
<autor>, <website>, <description>, <blogurl> y <contacemail>, cambiar los textos y direcciones por los textos y
direcciones nuevas, y salvar o guardar los cambios.

Cambios en archivo “AndroidManifest.xml” Cambios en archivo “cover.xml”

Paso 9. Compilar la aplicación modificada abriendo nuevamente una ventana de comandos en la carpeta ApkTool
(Shift+clic derecho) digitando en la ventana de comandos el comando apktool b seguido del nombre completo de la carpeta
(kamasutra-guia-ilustrada-3-0-es-android) y pulsando la tecla Enter. Esperar hasta que se complete el proceso de
recompilado.

Paso 10. Cerrar la ventana de comandos una vez completado el proceso de recompilado. Se observará que en la carpeta de
la aplicación (kamasutra-guia-ilustrada-3-0-es-android) aparecen dos nuevas carpetas, denominadas “build” y “dist”.
Esta última contiene un archivo apk con el mismo nombre de la aplicación (kamasutra-guia-ilustrada-3-0-es-
android.apk). Sin embargo, aunque lleva la extensión apk, no será posible instalarla todavía en un dispositivo Android
porque no está firmada digitalmente y será rechazada. Por tanto, debe ser firmada antes estar lista para ser instalada.

Paso 11. Para firmar la aplicación descompilada, renombrar el archivo APK correspondiente como “app.apk”, copiarlo en
el portapapeles, pegarlo en la carpeta “WindroidSL Signer” y ejecutar en esta última el archivo “WindroidSL Signer.exe”.
Aceptar la ejecución si aparece una ventana de advertencia de Windows indicando que el editor (Publisher) del programa
no puede ser verificado. Se abre entonces una ventana de comandos y comienza automáticamente el proceso de firmado.

Paso 12. Esperar hasta que se complete el proceso de firmado. No deben aparecer mensajes relacionados con excepciones
o errores de ejecución. Si esto sucede, es porque los cambios hecho no son correctos o aplicables, por ejemplo, el tamaño
de los PDFs nuevos es muy grande comparado con el de los PDFs originales. Bajo esta condición, la aplicación no quedará
firmada correctamente y su instalación en un dispositivo Android no será exitosa, aunque en la ventana aparezca el mensaje
“Archivo Firmado correctamente”.

Aplicación final firmada correctamente Aplicación final no firmada correctamente

Paso 13. Una vez completado el proceso de firmado, pulsar cualquier tecla para cerrar la ventana de comandos del programa
WindroidSL Signer. Se observará que aparece un nuevo archivo apk llamado “app_finished.apk”. Este último es la nueva
aplicación ya firmada y lista para ser instalada en un dispositivo Android.

Paso 14. Para finalizar, renombrar el archivo “app_finished.apk” (firmado) con el nuevo nombre deseado (Aisha.apk) y
eliminar el archivo “app.apk” (no firmado). Proceder entonces a instalar la aplicación firmada en el dispositivo Android en
la forma usual. Téngase en cuenta que en este último debe estar habilitada la opción de seguridad “Fuentes desconocidas”
puesto que la app no ha sido descargada del Play Store.
FIN

REFERENCIAS
[1] Windroid Sin Límites. (2015, octubre 5). ApkTool Para Windows [Archivo de video]. Recuperado de:
https://ww w.youtube.com/watch?v=T_-4X-lFs5A
[2] Apktool. A tool for reverse engineering Android Apk files. Recuperado de:
https://ibotpeaches.github.io/Apktool/

S-ar putea să vă placă și