miércoles, 6 de noviembre de 2013

Cómo decompilar y volver a compilar una aplicación de Android


Recientemente he descubierto una empresa que ofrece nada más y nada menos que 10 TB de almacenamiento en la nube de forma gratuita y sincronizada -podéis ver más detalles aquí-
El único pero que tiene es que tanto la página web como las aplicaciones de sincronización están únicamente en Chino y, teniendo en cuenta que este servicio lleva más de un año en marcha y que no está en otros idiomas -ni siquiera inglés-, a menos que conozcas Chino, es necesario traducir las aplicaciones.
Con la página web no hay tanto problema ya que navegadores como Chrome traducen en tiempo real de forma aceptable. Con las aplicaciones no tenemos tanta suerte pero afortunadamente descubrí que buena parte de los textos están almacenados en archivos XML. Basta cambiar estos archivos por unos traducidos -podéis descargarlas desde el enlace del otro post- y ya tenemos la aplicación traducida -parcialmente-

Un caso aparte ocurre con la aplicación para dispositivo móvil Android. En este caso, el formato es un archivo apk que no deja de ser un fichero comprimido en cuyo interior están los textos. El problema es que estos no están visibles directamente pero gracias al aporte de +Jean Carlos Concepcion, me enfocó la solución hacia la decompilación del archivo.

Esta técnica puede utilizarse para ingeniería inversa o crackear un programa pero en este caso lo utilizaremos para sustituir los textos escritos en Chino por Español