Red de conocimiento informático - Material del sitio web - Cómo descompilar un Apk para obtener el código fuente de Java

Cómo descompilar un Apk para obtener el código fuente de Java

1. Descargue la herramienta de descompilación

Necesitas descargar cuatro herramientas: dex2jar, JD-GUI, apktool, apktool-install-windows-r05-ibot

dex2jar: convierte las clases apk .dex se convierte en un archivo Jar.

JD-GUI: Una herramienta de descompilación que visualiza directamente el código fuente de los paquetes Jar.

apktool: herramienta de descompilación, que se puede ver directamente descompilando el archivo XML en el APK.

apktool-install-windows-r05-ibot: Herramienta auxiliar de procesamiento por lotes de ventanas.

Descargar:

dex2jar:/p/dex2jar/downloads/list

JD-GUI:/p/innlab/downloads/lis

apktool:/p/android-apktool/ downloads/list

Captura de pantalla de la herramienta:

2. Descomprima el paquete APK

Los archivos apk también son comprimidos comunes paquetes, el software de compresión de uso común puede descomprimir fácilmente archivos apk. Utilice un software de compresión para descomprimir los archivos del archivo apk en una carpeta para obtener los recursos del APK, incluidos los archivos XML y los archivos Class.dex. Classes.dex es un archivo Java compilado empaquetado a través de la herramienta DX.

Descomprimir captura de pantalla:

3. Descomprima el archivo dex

Después de descomprimir el archivo apk, encontrará que las imágenes en el directorio res no están cifradas. pero el código fuente de Java está compilado en un archivo clases.dex, que no se puede procesar mediante el método normal de descomprimir el archivo de clases.

Descomprima el dex2jar descargado, coloque la carpeta descomprimida en el directorio del disco del sistema y agregue este directorio a la variable de ruta del sistema, y ​​luego podrá usar: dex2jar.bat o dex2jar.sh directamente Archivo dex convertido.

El comando de línea de DOS es el siguiente: dex2jar.bat xx\classes.dex (xx es la ruta donde se encuentra el archivo Classes.dex).

Obtendrá un paquete jar normal en el mismo directorio: clases_dex2jar.jar. Puede descompilar este paquete jar para obtener el archivo original de la misma manera que usa un paquete jar normal.

Captura de pantalla de compilación:

La captura de pantalla del archivo jar generado es la siguiente:

4. Descompila el paquete jar

Después de obtener el jar Paquete, descárguelo. Se recomienda mi herramienta de descompilación favorita para usar JD-GUI. Tiene una interfaz gráfica relativamente simple y puede descompilar un solo archivo de clase o un paquete jar, lo cual es más conveniente.

Abra el archivo comprimido JD-GUI, ejecute jd-gui.exe, abra el paquete jar generado anteriormente y podrá ver el código fuente.

La captura de pantalla es la siguiente:

5. Descomprima el archivo xml

Abra el directorio res\layout descomprimido, hay muchos archivos xml en él, si Si quieres ver al autor cómo está diseñada la interfaz, definitivamente te decepcionarás porque verás muchos archivos basura. Esta vez necesitamos usar apktool.

Método de operación específico: descomprima los paquetes apktool y apktool-install-windows-r05-ibot descargados en la misma carpeta. Hay tres archivos en esta carpeta: apt.exe, apktool, apktool.jbut. , apktool.jbut, apktool.jbut, apktool.bat y apktool.jbut.

Coloque esta carpeta en el directorio raíz del disco del sistema y agregue este directorio a la variable de ruta. Tome HelloWord.apk como ejemplo:

Escriba: apktool d xx\HelloWord.apk HelloWord en la línea de comando de DOS para obtener la carpeta HelloWord. El archivo xml en esta carpeta es un archivo compilado que se puede ver. normalmente. .

Esto le proporcionará código fuente compilable y recursos XML.

Nota: ¡Es mejor no tener caracteres chinos en la ruta del archivo!

/article/dca1fa6fbe140ef1a4405212.html