¡Caminando hacia el éxito!

Aprende en Comunidad

Avalados por :

Cómo modificar un archivo .apk existente: Guía paso a paso

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 6K+ Vistas
0
Cargando...

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

Pedro Pascal
Se unió el 07/03/2018
Facebook
Twitter
Pinterest
Telegram
Linkedin
Whatsapp

1 Respuestas

0
Cargando...

Modificar un archivo .apk existente requiere conocimiento técnico y herramientas específicas. A continuación, te presento una guía paso a paso para realizar este proceso:

1. Entender las limitaciones legales

Antes de modificar un .apk, asegúrate de que tienes permiso para hacerlo. La ingeniería inversa o modificación de aplicaciones sin autorización puede ser ilegal.

2. Herramientas necesarias

  • Java Development Kit (JDK): Necesario para trabajar con herramientas relacionadas con Android.
  • Android Studio: Opcional, pero útil para pruebas.
  • APKTool: Descompila y recompila aplicaciones Android.
  • Dex2Jar: Convierte archivos .dex (Dalvik Executable) a .jar para editar.
  • JD-GUI: Herramienta para inspeccionar archivos .jar.
  • Notepad++ o Sublime Text: Editor de texto para modificar códigos o recursos.
  • Zipalign y jarsigner: Herramientas para alinear y firmar la aplicación modificada.

3. Realizar una copia de seguridad

Antes de modificar el .apk, realiza una copia del archivo original para evitar problemas si algo sale mal.

4. Descompilar el APK

  1. Instala APKTool: Descarga e instala desde su sitio oficial.
  2. Descompila:
  • Abre la terminal.
  • Escribe:
apktool d nombre_aplicacion.apk -o carpeta_de_salida
  1. Esto descompilará el .apk en una carpeta donde podrás acceder a los recursos y archivos.

5. Editar el contenido

  • Archivos de recursos (res/): Edita imágenes, textos o layouts (.xml).
  • AndroidManifest.xml: Cambia permisos, actividades o configuraciones.
  • Archivos de código (smali/): Edita el código utilizando notación Smali.

6. Recompilar el APK

  1. Recompila con APKTool:
apktool b carpeta_de_salida -o nuevo_apk.apk

7. Firmar el APK

  1. Genera un certificado (si no tienes uno):
keytool -genkey -v -keystore mi_certificado.keystore -alias alias_nombre -keyalg RSA -keysize 2048 -validity 10000
  1. Firma el APK:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore mi_certificado.keystore nuevo_apk.apk alias_nombre
  1. Alinear el APK:
zipalign -v 4 nuevo_apk.apk apk_final.apk

8. Probar el APK

  1. Habilitar instalación de fuentes desconocidas en el dispositivo.
  2. Instalar y probar el archivo .apk para asegurarte de que los cambios funcionan correctamente.

Consejos adicionales

  • Evita errores comunes: Revisa cada cambio antes de recompilar.
  • Trabaja en un entorno seguro: Usa un dispositivo virtual o secundario para pruebas.
  • Respeta la autoría: No uses este método para redistribuir aplicaciones modificadas sin permiso.


Respondido el 27/12/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2025 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

Hola ¿Puedo ayudarte?