Hay dos herramientas útiles que generarán código Java (aproximado pero suficientemente bueno) a partir de un archivo APK desconocido.
Descargue la herramienta dex2jar desde dex2jar.
Utiliza la herramienta para convertir el archivo APK en JAR:
$ d2j-dex2jar.bat demo.apk
dex2jar demo.apk -> ./demo-dex2jar.jar
Una vez generado el archivo JAR, utiliza JD-GUI para abrir el archivo JAR. Verás los archivos Java.
La salida será similar a:
[]
No es así. Hay un número de suites de desensamblador/descompilador dex por ahí como smali, o dex2jar que generarán una salida semi-lectura humana (en el caso de dex2jar, puedes obtener código java a través del uso de algo como JD-GUI pero el proceso no es perfecto y es muy poco probable que puedas recrear al 100% tu código fuente. Sin embargo, podría darle un lugar para empezar a reconstruir su árbol de código fuente.
Sí, puedes recuperar tu proyecto. Sólo tienes que cambiar el nombre del archivo suproyecto.apk
a suproyecto.zip
, y obtendrás todos los archivos dentro de ese archivo ZIP. Estamos cambiando la extensión del archivo de .apk a .zip. De ese archivo ZIP, extrae el archivo classes.dex
y descompílalo de la siguiente manera.
Primero, necesitas una herramienta para extraer todas las clases (compiladas) del DEX a un JAR. Hay una llamada dex2jar, hecha por un estudiante chino.
Entonces, puedes usar JD-GUI para descompilar las clases en el JAR a código fuente. El código fuente resultante debería ser bastante legible, ya que dex2jar aplica algunas optimizaciones.