Avalados por :
Hoy me gustaría compartir contigo mis descubrimientos sobre cómo se puede modificar un archivo .apk existente.
Un archivo .apk representa la aplicación móvil tal como está instalada en un dispositivo móvil, como un teléfono inteligente, tableta, dispositivo portátil, etc.
Tal archivo .apk es un simple archivo que se puede abrir con cualquier empaquetador como, por ejemplo, WinRAR
Por lo tanto, puedes abrirlo fácilmente y ver los archivos, aunque ver la mayoría de los archivos no te hará feliz, porque te darás cuenta de que están compilados, en formato binario, etc.
... pero esa es otra historia.
De todos modos, puedes abrir el archivo y luego modificar cualquier archivo de recursos y guardar la modificación en el archivo.
Pero si luego intentas instalar el .apk en el teléfono inteligente (o tableta u otro dispositivo similar), recibirás un error.
La siguiente captura de pantalla muestra el error al instalar la aplicación de muestra modificada myApp.apk en un dispositivo Android:
La razón es que después de la modificación, el checksum y la firma ya no son válidos.
Por lo tanto, simplemente cambiar un archivo .apk no es posible.
Sin embargo, todavía existe el caso de uso válido de modificar o reemplazar archivos dentro de un archivo .apk existente.
Por ejemplo:
- archivos ubicados en la carpeta de activos
- archivos de propiedades que contienen datos de configuración
- imágenes que se pueden reemplazar
- recursos de información de estilo
y similares.
Mi caso de uso personal fue:
Había creado una aplicación de Android utilizando SAP Netweaver Gateway Productivity Accelerator.
Tenía que entregar la aplicación a mis usuarios como archivo .apk.
Pero existía el requisito de que querían modificar la aplicación lista (cambiar datos de configuración).
Así que tuve que averiguar cómo lograrlo: modificar la aplicación sin tener acceso al código fuente.
A continuación, comparto contigo los pasos necesarios.
La descripción se basa en el siguiente software y versiones:
Android API actual 19
Java 7
Windows 7
Si no estás familiarizado con Android, pero deseas estarlo, es posible que desees consultar los documentos [1] y [2]
Todos los requisitos previos para comprender este blog se explican allí.
Nota:
Para ejecutar los comandos descritos a continuación, necesitas tener Java en la variable PATH de tu sistema Windows (ver [1] para una explicación).
Resumen
Hay 3 pasos que deben seguirse para modificar un archivo .apk existente:
1. Realizar las modificaciones deseadas dentro del archivo .apk
2. Firmar el .apk
3. Instalar el .apk en el dispositivo
1. Cambiar el recurso en el .apk
Abre el archivo .apk con WinRAR (si eso no funciona, cambia la extensión del archivo .apk a .zip)
Cambia el recurso en el archivo según sea necesario (las herramientas de empaquetado permiten cambiar archivos sin necesidad de extraer el archivo)
Una vez que hayas terminado con tus cambios, debes ocuparte de los archivos de firma que forman parte del .apk:
Dentro del archivo, ve a la carpeta META-INF
Elimina los archivos *.RSA y *.SF existentes
La siguiente captura de pantalla muestra el contenido de la carpeta META-INF en un archivo .apk
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute