Accidentalmente borré mi proyecto de Eclipse , y todo lo que me queda es el archivo APK que transferí a mi teléfono. ¿Hay alguna manera de revertir el proceso de exportación de una aplicación al archivo .apk, para que pueda recuperar mi proyecto?
Accidentalmente borré mi proyecto de Eclipse , y todo lo que me queda es el archivo APK que transferí a mi teléfono. ¿Hay alguna manera de revertir el proceso de exportación de una aplicación al archivo .apk, para que pueda recuperar mi proyecto?
Respuestas:
Hay dos herramientas útiles que generarán código Java (aproximado pero lo suficientemente bueno) a partir de un archivo APK desconocido.
Use la herramienta para convertir el archivo APK a JAR :
$ d2j-dex2jar.bat demo.apk
dex2jar demo.apk -> ./demo-dex2jar.jar
Una vez que se genera el archivo JAR, use JD-GUI para abrir el archivo JAR. Verá los archivos Java.
La salida será similar a:
d2j-dex2jar
en su lugar (v0.0.9.15).
res
carpeta
res
carpeta con archivos xml ilegibles
Mac
si no puedes usar dex2jar: permission denied
entonces haz esto $sudo chmod +x d2j-dex2jar.sh
En primer lugar, recomiendo el this
video, que esto aclare todas tus dudas
Si no, por favor revísalo
Procedure for decoding .apk files, step-by-step method:
Step 1:
Cree una nueva carpeta y coloque el archivo .apk en ella (que desea decodificar). Ahora cambie el nombre de la extensión de este .apk
archivo a .zip
(por ejemplo: cambiar el nombre de filename.apk a filename.zip) y guárdelo.
Si hay problemas en la conversión a .zip, consulte link
Después de obtener .zip ahora obtienes archivos classes.dex, etc. En esta etapa puedes ver archivos dibujables pero no xml y java, así que continúa. Si no ve las extensiones, verifique la configuración
Step 2:
Ahora extraiga este archivo zip apk en la misma carpeta. Ahora descargue dex2jar de estolink
y extraerlo a la misma carpeta. Ahora abra el símbolo del sistema y cambie el directorio a esa carpeta.
Luego escriba dex2jar classes.dex
y presione enter. Ahora obtienes el classes.dex.dex2jar
archivo en la misma carpeta.
Luego descargue el descompilador de Java
Y ahora haga doble clic en jd-gui y haga clic en abrir archivo. Luego abra el classes.dex.dex2jar
archivo de esa carpeta. Ahora obtiene archivos de clase y guarda todos estos archivos de clase (haga clic en el archivo y luego haga clic en "guardar todas las fuentes" en jd-gui) por nombre de src. Extraiga ese archivo zip (classes_dex2jar.src.zip)
y obtendrá todos los archivos java de la aplicación.
En esta etapa, obtienes la fuente de Java, pero los archivos xml aún no se pueden leer, así que continúa.
Step 3:
Ahora abra otra carpeta nueva y coloque estos archivos
poner el archivo .apk que desea decodificar
descargar Apktool para windows v1.x
AndApktool
instalar ventana usando google y poner en la misma carpeta
descargue el archivo framework-res.apk usando google y colóquelo en la misma carpeta (no todos los archivos apk necesitan el archivo framework-res.apk)
Abrir una ventana de comando
Navegue al directorio raíz de APKtool y escriba el siguiente comando:
apktool if framework-res.apk.
El comando anterior debería resultar en Framework installed ...
.
Step 4:
Finalmente obtuvimos el res/
código de proyecto, así como Java, que es nuestro objetivo al comenzar.
P.S.
Si no puede obtener la carpeta res mediante los pasos anteriores, instale una nuevaapktool
- ¿Está instalado Java 1.7? Instale Apktool 2.x
- ¿Está instalado Java 1.6 o superior? Instale Apktool 1.x
Enjoy and happy coding
apktool.jar
no está en el mismo paquete, lo obtuve de un paquete anterior y lo pegué en el mismo directorio que apktool
.
Sin software y sin demasiados pasos.
Simplemente cargue su APK y obtenga todos sus recursos de este sitio.
https://www.apkdecompilers.com/
Este sitio web descompilará el código incrustado en los archivos APK y extraerá todos los demás activos en el archivo.
nota: descompilo mi archivo APK y obtengo el código en un minuto desde este sitio web
Actualización 1 :
Encontré otro sitio de descompilación en línea,
http://www.javadecompilers.com/apk/ - No funciona continuamente solicitando bloqueo de ventanas emergentes
Actualización 2:
Encontré la aplicación descompilador apk en Play Store,
https://play.google.com/store/apps/details?id=com.njlabs.showjava
Podemos descompilar los archivos apk en nuestro teléfono Android. y también podemos ver los archivos java y xml en esta aplicación
Actualización 3:
Podemos usar otra opción Analizar la función APK de la versión Android studio 2.2
Compilación -> Analizar APK -> Seleccione su APK -> da resultados
Hay una nueva forma de hacer esto.
Android Studio 2.2 tiene APK Analyzer, le dará mucha información sobre apk, compruébelo aquí: - http://android-developers.blogspot.in/2016/05/android-studio-22-preview-new-ui.html
Realmente no. Hay una serie de conjuntos de desensamblador / descompilador dex , como smali , o dex2jar que generarán una salida semihumana (en el caso de dex2jar, puede obtener código java mediante el uso de algo como JD-GUI, pero el proceso es no es perfecto y es muy poco probable que pueda recrear al 100% su código fuente. Sin embargo, podría darle un lugar para comenzar a reconstruir su árbol fuente.
Sí, puedes recuperar tu proyecto. Simplemente cambie el nombre del yourproject.apk
archivo yourproject.zip
y obtendrá todos los archivos dentro de ese archivo ZIP. Estamos cambiando la extensión del archivo de .apk a .zip. De ese archivo ZIP, extraiga elclasses.dex
archivo y descompílelo de la siguiente manera.
Primero, necesita una herramienta para extraer todas las clases (compiladas) en el DEX a un JAR. Hay uno llamado dex2jar , que está hecho por un estudiante chino.
Luego, puede usar JD-GUI para descompilar las clases en el JAR al código fuente. El código fuente resultante debería ser bastante legible, ya que dex2jar aplica algunas optimizaciones.
Para la plataforma Android, puedes probar ShowJava , disponible en Play Store.
Puede consultar el código generado a través de la interfaz de la aplicación y los archivos java generados y la estructura de carpetas se almacenan en la ShowJava
carpeta /sdcard
, junto con el resultado.jar
archivo de la conversión.
La aplicación es gratuita con un banner publicitario en la parte inferior de la vista principal, pero hay una opción de compra en la aplicación ($ 3,99) para eliminarla. La compra en la aplicación no agrega ninguna funcionalidad además de eliminar el banner del anuncio.
Divulgación: no soy el desarrollador de la aplicación ni estoy afiliado a él de ninguna manera.
Siga los pasos a continuación para hacer esto o simplemente use la gema apkToJava para este proceso, incluso se encarga de instalar las herramientas necesarias para que funcione.
Si está buscando una alternativa profesional, eche un vistazo a JEB Decompiler de PNF Software.
Existe una versión demo que le permitirá descompilar la mayoría del código.
A continuación se presentan algunas de las herramientas que puede utilizar para realizar ingeniería inversa desde un archivo APK al código fuente:
En Android Studio 3.5, es muy fácil que puedas lograrlo en un minuto. El siguiente es un proceso paso a paso.
1: Abra Android Studio, presione el botón de la ventana -> Escriba Android Studio -> haga clic en el icono para abrir la pantalla de inicio de Android Studio que se verá así.
2: Aquí puede ver la opción "Perfil o depurar APK", haga clic en ella, seleccione su archivo apk y presione OK.
3: abrirá todas sus clases de manifiesto y Java en un minuto, dependiendo del tamaño de apk.
Eso es.
Pruebe esta herramienta: https://decompile.io , se ejecuta en iPhone / iPad / Mac