Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Android / Decompilar archivos APK

Decompilar archivos APK

Autor jc mouse martes, agosto 13, 2013

Las aplicaciones para celulares inteligentes con sistema operativo Android, se distribuyen en archivos *.APK, si como programador alguna vez tuviste la curiosidad de saber que es lo que contiene su codigo, este tuto te puede ayudar.

Los archivos APK, puedes descomprimirse con WinRar o cualquier otro compresor de archivos, pero si tratas de abrir el archivo classes.dex (que es donde esta el código java), solo veras unos garabatos sin sentido. Para decompilar un archivo APK, debemos seguir unos cuantos pasos los cuales los veras a continuación.

Herramientas.

– Un archivo APK (En este ejemplo la victima sera la aplicación licoapp.apk que encontré por internet, no se que hace pero no hace falta )

– Programa dex2jar

– Un decompilador de archivos  java (Ej. Java Decompiler)

– Sistema Operativo Windows  o Linux

¿Que son los archivos APK?

Un archivo con extensión *.apk (Application PacKage File) es un paquete para el sistema operativo Android. Este formato es una variante del formato JAR de Java y se usa para distribuir e instalar componentes empaquetados para la plataforma Android para smartphones y tablets.1 2 [Fuente Santa Wikipedia]

Un archivo .apk normalmente contiene lo siguiente:

– AndroidManifest.xml
– classes.dex
– resources.arsc
– res (carpeta)
– META-INF (carpeta)
– lib (carpeta)

Pasos para decompilar un archivo APK

1. Descarga y descomprime el programa dex2jar en tu pc, para este ejemplo, se utilizo la dirección «E:\dex2jar\»

2. Pega dentro la carpeta «E:\dex2jar» el archivo APK que queremos decompilar. En este ejemplo, la aplicación se llama «licoapp.apk».

3.Abre la consola de windows y escribe:

E:\dex2jar>d2j-dex2jar licoapp.apk

En linux quedaría más o menos así:

sh /home/jcmouse/dex2jar/d2j-dex2jar.sh /home/jcmouse/licoapp.apk

Presionamos ENTER y se creara en el mismo directorio un archivo de la forma tuapk-dex2jar.jar, en este ejemplo tenemos «licoapp-dex2jar.jar»

con sola

4. Ya tenemos el archivo *.jar, así que podemos descomprimirlo utilizando cualquier programa compresor de archivos como Winrar.

lico

Ahora ya podemos utilizar un decompilador (Java Decompiler) para explorar los archivos.

umsa bolivia

Pero no se hagan grandes ilusiones, los archivos APK están ofuscados, osea no podrán entender el código java a menos que tengan buenos conocimientos sobre este lenguaje y aún así, realizar grandes cambios sera una tarea titanica 🙂 Pero al final vale la pena, utilizar la ingeniería inversa para conocer el funcionamiento de un programa es bastante recomendable pero recuerden que dependiendo el país donde se encuentren puede ser considerado un delito. En mi país hasta donde se 🙂 no pasa naranjas así que le metemos nomas a la piratería 🙂

Eso es todo. Enjoy!!! 🙂

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Imagenes en Access y Java

Imagenes en Access y Java

Aplicación en Java realida con el IDE de Netbeans 6.9 para trabajar con images en Base de Datos en Access 2003, el progr...

Generador de Texto ASCII .:. Solo Código

Generador de Texto ASCII .:. Solo Código

ASCII acrónimo inglés de American Standard Code for Information Interchange (Código Estándar Estadounidense para el Inte...

Extraer texto e imagen, exportar como PNG y encriptar un archivo PDF

Extraer texto e imagen, exportar como PNG y encriptar un archivo PDF

En este post hablaremos sobre la biblioteca de Apache PDFBox el cual es una herramienta para java de código abierto que...

Numero a Literal en Java

Numero a Literal en Java

Cuando se realizan trabajos donde se necesita mostrar al cliente un determinado monto de dinero, tipo factura, recibo, c...

Filtros con JMF y una webcam [Proyecto]

Filtros con JMF y una webcam [Proyecto]

En esta oportunidad dejo a consideracion un proyecto para la captura de video desde una webcam, utilizando filtros como...

Paso de parámetros entre dos Activity

Paso de parámetros entre dos Activity

En este tutorial veremos como pasar parámetros de un activity a otro activity, no hay mucho que decir así que manos a la...

12 comentarios en “Decompilar archivos APK”

  1. Daniel dice:

    Genial tus post amigo! muchas gracias voy a investigar un poquito =)

  2. Michael Trujillo Salinas dice:

    Todo esta muy bien, pero; te cuento que estuve realizando lo que esta en tu blog, pero te cuento que este xml tiene una estructura la cual tiene un orden, lo puse antes del querystring como dice en tu tutorial, y no corría, salia un error que esperaba otra etiqueta, no lo entendía, hasta que llegué a este orden

    <![CDATA[SELECT
    y corrió.

    Este código es para alternar los colores de las filas, y se vea un poco mas elegante.

    Espero ayude en algo a lo que has hecho amigo.

  3. Enric dice:

    Hola. En primer lugar, gracias por el tutorial. Está muy bien 😉
    Por otro lado, me asalta la duda siguiente: ¿Cómo guardas las coordenadas para posteriormente, una vez que las has convertido en canvas por provincias(una por una, y separadamente), éstas vuelvan a generar la imagen del país al completo en cuestión ? Espero que entiendas la pregunta, y que puedas contestarme. Gracias de antemano de un inexperto en el campo.

    1. Mouse dice:

      :/ esto es en el post de mapas con html5 y canvas verdad, pues todo lo hace las herramientas que cito en el tutorial, es mucho código lo se, pero la mayoria es de puntos del mapa

  4. Mesias Moreno dice:

    Saludos, muy buen post sobre mapas…

  5. Ruben Rodriguez dice:

    Hola amigo como Hacer para cargar una foto a traves de java? vi en tu ejemplo, la parte donde decia cargar foto, me podrias dar un ejemplo de ese codigo paraimplementar en mi sistema?

  6. Sebastián dice:

    Hola, tengo un problema.
    Mi aplicación funciona al ir agregando filas a una Jtable, y de acuerdo a una condición, se pinta de un color o de otro. Cuando agrego una, todo perfecto. El problema es cuando quiero agregar otra, desafortunadamente me pinta bien esa nueva fila, pero me «despinta» el resto de la tabla, como si fuera la primera fila que agrego.

    ¿Qué puedo hacer?

    1. Mouse dice:

      creo que tu error se encuentra en donde realizas el pintado de las celdas, cuando repintes celdas debes hacerlo con todas eso se controla con una condición osea de color rojo las impares, azul las pares o si quieres las filas de todo color, eso es más complicado, cada celda debe tener una variable donde indiques a que color corresponde «n» fila

  7. Ban Midou dice:

    Muy bueno tu tutorial pude crear mi pantalla splash en mi proyecto pero al momento de generar el archivo jar y ejecutarlo no muestra la pantalla splash?? porque sucede esto? ademas de que utilizo una biblioteca para cambiar el look and feel y de la misma forma el archivo jar que compilo no respeta la interfaz… todo lo cambia al estilo de windows…
    La verdad es que estoy perdido en este asunto… agradecere tu ayuda

    1. Mouse dice:

      que look and feel usas??? por lo general estos skin modifican el tamaño de los componentes y cuando creas la interfaz en modo diseño todo bien, pero cuando ejecutas todo se deforma :/ la solución buscar un skin que se adecue a tus necesidades o en el peor de los casos usas los skin por defecto de java

  8. Gabriel Campos dice:

    Olá, sou brasileiro e achei muito legal o seu blog, também trabalho com Android, caso você tenha interesse podemos trocar informações.

    Abraço.

  9. cergio dice:

    hola me gustaría que me ayuden con una aplicacion para ciegos que lamentablemente bale muy cara se llama mobile accessibility existe también versiones gratis demo pero vencen a los 30 días y también existe una versión que funciona solo si tenemos una linea de at&t me gustaria que pudieran ayudarme a modificar esta aplicacion mi correo es discapacidad5@gmail.com

Los comentarios estan cerrados

Comparte lo que sabes

Categorias

Últimas entradas

Quasar es un proyecto Open Source basado en el Framework Vue que nos permite desarrollar proyectos de todo tipo, por eje...

Continuando el post de «Introducción a Retrofit» donde realizamos una breve preparación a lo que es el uso de la librerí...

Editar un documento PDF no es tan sencillo como editar un archivo de texto por ejemplo, para editar archivos PDFs necesi...

¿Alguna vez tuviste la necesidad de hacer una captura de pantalla de una página web? Si es así, seguramente buscaste y d...

Herramientas

Generador de Enlaces a Whatsapp