Obtener código fuente de un APK

Anuncios patrocinados


Es importante estar informado desde la variedad, por eso, tratamos de acercarte distinto tipo de información para que puedas conocer un poco más de diferentes ámbitos. En el día de ayer te hemos contado qué es un celular de gama media, es decir, sus características, cómo distinguirlo, su precio y demás información útil, pero también hemos hablado de cuestiones sumamente diferentes, como por ejemplo: la importancia de la divulgación científica. Hoy trataremos de contarte cómo obtener código fuente de un APK, no dejes de prestar atención.

Para aquellos que son desarrolladores o para quienes son simplemente curiosos y desean saber lo que sucede adentro de sus terminales y con quién se comunica en el exterior traemos esta información. Podremos tener el código fuente de una aplicación fácilmente, pero, puede pasar que no sea del todo limpio.

El proceso que se inicia para obtener el código fuente de un APK desde un archivo ejecutable u otro archivo compilado es denominado “ingenieria inversa”, la ingeniería normal es el desarrollo de este código, por ende, este proceso se llama de esta manera. Esto es legal pero depende del caso, es decir, en cada país las leyes son diferentes y se puede permitir un tanto más o menos. En España, por ejemplo, la legislación permite hacer esta ingeniería inversa pero hay ciertas condiciones en el artículo 100 de la Ley de Propiedad Intelectual.

Es decir, podremos extraer el código si somos propietarios o tenemos licencia de uso, cuando la información no haya sido expuesta de forma previa y no se use para comercializar un programa y demás.

Para leer el código de un archivo con extensión .apk necesitamos diferentes herramientas, en principio el archivo APK de la aplicación. Para conseguir esto podemos buscarlo en los repositorio de aplicaciones online o si ya instalamos la misma podremos extraerla de un explorador de archivos. Una vez hecho esto hay diferentes métodos o caminos que te llevan casi a un mismo resultado, nosotros te contaremos el que consideramos más sencillo.

Codigo APK

Deberemos descargar dos herramientas que necesitaremos luego, por un lado, un archivo para exportar las clases del APK a un archivo java con extensión .jar dex2jar; y por otro, una aplicación para leer los archivos con extensión .jar JD-GUI, disponible en distintos sistemas. Instrucciones:

1-Deberás, entonces, hacer una copia del archivo APK de la aplicación y luego cambiar la extensión de .apk a .zip y guardarlo.

2- Abre el archivo .zip y extrae el classes.dex. Coloca este en la carpeta descomprimida de dex2jar.

3- En el lugar vacío de la carpeta debes clickear el botón derecho del mouse y a la vez el “shift” del teclado. Del menú elegí “abrir aquí una ventana de comandos”.

4- En la consola que se abrió ingresa el comando ‘d2j-dex2jar.bat classes.dex‘. Damos Intro y después en la misma carpeta aparecerá uno nuevo que se llamará ‘classes-dex2jar.jar’. También hay otra alternativa, la plataforma online APK decompiler.

5- Con este archivo podremos explorar el código de fuente de la aplicación y ver todas sus clases con el programa JD-Gui.

6- Descomprimimos el archivo .zip con el JD-GUI y ejecutamos el archivo .exe que encontraremos en la carpeta. Cuando arranque el programa elegimos el icono para abrir un archivo o ingresamos en “File” > “Open File”, elegimos el archivo ‘classes-dex2jar.jar’ que tenemos en la carpeta de dex2jar y lo abrimos. Ahora si podrás ver las librerías que utiliza la aplicación y las clases que tiene.

Hay algunos problemas que pueden surgir de obtener el código fuente de un APK. Las herramientas de ingeniería inversa no siempre consiguen el código original, es decir, no lo consiguen en un 100% ya que hay un desfase entre el código escrito y el que recuperamos, los que crean las aplicaciones suelen tener estos recaudos para que otras personas no invadan su trabajo.

Para proteger sus aplicaciones y códigos Google creó hace años una herramienta: ProGuard. La misma logra optimizar el código de la aplicación y las protege de la ingeniería inversa. La mayoría de las aplicaciones suelen tener un código optimizado con esta app.

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...



» »

Leave a Reply

Your email address will not be published. Required fields are marked *