studio jadx how from decompile decompilar code classes java android decompiling recompile

java - jadx - reversing apk



Descompile una APK, modifĂ­quela y luego vuelva a compilarla (10)

  1. Primero descargue la herramienta dex2jar del siguiente enlace http://code.google.com/p/dex2jar/downloads/list

  2. Extraiga el archivo que crea la carpeta dex2jar

  3. Ahora selecciona tu archivo apk y cambia su extensión .apk a .zip después de cambiar la extensión, parece ser un archivo zip y luego extrae este archivo zip. Encontraste el archivo classes.dex

  4. Ahora elija el archivo classes.dex y póngalo en la carpeta dex2jar

  5. Ahora abra la ventana de cmd y escriba la ruta de la carpeta dex2jar

  6. Ahora escribe el comando dex2jar.bat classes.dex y presiona Enter

  7. Ahora abra la carpeta dex2jar que encontró el archivo classes_dex2jar.jar

  8. A continuación, descargue la herramienta del descompilador de Java desde el siguiente enlace http://java.decompiler.free.fr/?q=jdgui

  9. Último paso Abra el archivo classes_dex2jar.jar en la herramienta del descompilador de Java ahora puede ver el código apk

Necesito modificar una APK existente, modificar las fuentes y luego volver a compilarla.

  • Puedo descompilarlo usando dex2jar o apktool, está funcionando bien
  • Desde el archivo jar puedo obtener las fuentes de Java (usando jd-gui)
  • Entonces puedo modificar los archivos java

¡Pero ahora me gustaría saber cómo recompilar los archivos java y ponerlos de nuevo en un archivo jar! (La parte del frasco debe ser fácil, el principal problema parece ser cómo recompilar los archivos java para Android)

Sé que otra solución es usar apktool y luego modificar los archivos smali, ¡pero parece ser realmente complicado cuando queremos agregar mucho código!

Mi aplicación es un HelloWorld básico sin ofuscación.


¡Gracias a Chris Jester-Young logré que funcionara!

Creo que la forma en que logré hacerlo funcionará solo en proyectos realmente simples:

  • Con Dex2jar obtuve el Jar.
  • Con jd-gui, vuelvo a convertir mi jar a archivos Java.
  • Con apktool obtuve el manifiesto de Android y los archivos de recursos

  • En Eclipse creo un nuevo proyecto con la misma configuración que el anterior (verificando toda la información en el archivo de manifiesto)

  • Cuando se crea el proyecto, estoy reemplazando todos los recursos y el manifiesto con los que obtuve con apktool
  • Pego los archivos java que extraje del Jar en el src foled (respetando los paquetes)
  • Modifico esos archivos con lo que necesito
  • ¡Todo está compilando!

/! / ¡asegúrate de haber eliminado la aplicación antigua del dispositivo, se generará un error que indicará que la firma apk no es la misma que la anterior!


Con Dex2jar obtuve el Jar. Con jd-gui, vuelvo a convertir mi jar a archivos Java. Con apktool obtuve el manifiesto de Android y los archivos de recursos

En Eclipse creo un nuevo proyecto con la misma configuración que el anterior (verificando toda la información en el archivo de manifiesto)

Cuando se crea el proyecto, estoy reemplazando todos los recursos y el manifiesto con los que obtuve con apktool. Pego los archivos java que extraje del Jar en el src foled (respetando los paquetes). Modifico esos archivos con lo que necesito. Todo. está compilando!



Sé que esta pregunta ha sido respondida y no estoy tratando de dar una mejor respuesta aquí. Voy a compartir mi experiencia en este tema.

Una vez perdí mi código y solo tenía el archivo apk . Lo descompilé usando la herramienta a continuación y me alegraba el día.

Estas herramientas DEBEN ser utilizadas en tal situación, de lo contrario, no es ético e incluso a veces es ilegal (robando el esfuerzo de otra persona). Entonces, por favor, pruébalo sabiamente.

Esas son mis herramientas favoritas para hacer eso:

http://www.javadecompilers.com/apk

y para obtener el apk de google play puedes buscarlo en Google o visitar esos sitios:

En la fecha de publicación de esta respuesta probé todos los enlaces y funcionó perfecto para mí.

NOTA: Apk Decompiling no es efectivo en caso de código protegido. Debido a que Proguard reduce y ofusca el código y cambia el nombre de las clases a nombres sin sentido que hacen que sea bastante difícil de entender el código.

Prima:

Tutorial básico de Uso de Proguard :


Sé que esta pregunta todavía está respondida y no estoy tratando de ser inteligente aquí. Solo querré compartir otro método sobre este tema.

Descargar aplicaciones con apk grial

APK Grail proporciona el archivo zip gratuito de la aplicación.


Sé que esta pregunta todavía está respondida, me gustaría pasarle una información.

Hay un descompilador en línea para apk de Android

  1. Cargar apk desde la máquina local
  2. Espera algunos momentos
  3. Descargue el código fuente en formato zip

No sé qué tan confiable es esto.

@darkheir Answer es la forma manual de descompilar apk. Nos ayuda a comprender diferentes fases en la creación de Apk.

Otro compilador de apk en línea @Andrew Rukin : http://www.javadecompilers.com/apk

Aún vale la pena Felicitaciones a los creadores.


Uno debería cambiar la extensión de archivo de .apk a .zip . A continuación, extraiga los archivos, modifíquelos y, a continuación, .zip en .zip y recuerde cambiar el nombre de la extensión a .apk .

Para hacer esto, ni siquiera tenemos que usar ninguna computadora. Prefiero ES file explorer, que también puede ayudar a ver y editar el código fuente.


Utilice luckypatcher y elimine su verificación de licencia que no tiene que firmar apk. Use WINRAR para reemplazar su código fuente modificado sin descompilar apk.


dex2jar con jd-gui dará todos los archivos fuente java, pero no son exactamente lo mismo. Son archivos .class casi equivalentes (no 100%). Entonces, si desea cambiar el código de un archivo apk:

  • descompilar usando apktool

  • apktool generará archivos smali (versión de montaje de dex) para cada archivo java con el mismo nombre.

  • smali es comprensible para los humanos, realiza cambios en el archivo relevante, recompila usando el mismo apktool ( apktool b Nw.apk <Folder Containing Modified Files> )