Análisis de APKs

Analizar los APKs de las aplicaciones que usamos y que desarrollamos es una buena forma de aprender.

Vamos a analizar las herramientas más habituales que se utilizan.

dex2jar - https://sourceforge.net/projects/dex2jar/

Nos permite convertir el apk en un jar, para su posterios analisis con un decompilador Java.

jadx - https://github.com/skylot/jadx

Nos permite analizar las clases Java a partir de un apk, dex, o jar. Es un decompilador, y se puede usar desde la linea de comandos o a través de una interfaz gráfica.

apktool - https://ibotpeaches.github.io/Apktool/

Es una de las herramientas más potentes ya que nos permite recuperar todos los recursos del apk, el código que genera no es Java es smali.

ClassyShark - https://github.com/google/android-classyshark

Es una interfaz gráfica que nos permite explorar el contenido de un apk, el codigo Java que obtiene no es muy completo pero permite hacernos una idea.

jd-gui - http://jd.benow.ca/

Es un decompilador Java con interfaz gráfica. Muy útil cuando tenemos un jar, que por ejemplo podremos conseguir del apk con el dex2jar.

Android Studio - https://developer.android.com/studio/index.html

La última versión del Android Studio ha añadido un analizador de apk, que está bastante bien, falla un poco en el decompilado de Java.