¿Hay alguna forma de extraer y ver el contenido de un archivo .apk?
¿Hay alguna forma de extraer y ver el contenido de un archivo .apk?
Respuestas:
En realidad, el archivo apk es solo un archivo zip, por lo que puede intentar cambiar el nombre del archivo theappname.apk.zip
y extraerlo con cualquier utilidad zip (por ejemplo, 7zip).
El androidmanifest.xml
archivo y los recursos se extraerán y se podrán ver mientras que el código fuente no está en el paquete, solo el archivo .dex compilado ("Dalvik Executable")
Si bien descomprimir revelará los recursos, AndroidManifest.xml
se codificarán. apktool
puede, entre muchas otras cosas, también decodificar este archivo.
Para decodificar la aplicación App.apk
en la carpeta App
, ejecute
apktool decode App.apk App
apktool
no está incluido en el SDK oficial de Android, pero está disponible con la mayoría de los repositorios de paquetes.
También hay zzos . (Revelación completa: lo escribí). Solo descompila los recursos reales, no la parte dex ( baksmali , que no escribí, hace un excelente trabajo manejando esa parte).
Zzos es mucho menos conocido que apktool, pero hay algunos APK que se manejan mejor con él (y viceversa, más sobre eso más adelante). En su mayoría, los APK que contienen tipos de recursos personalizados (no modificadores) no fueron manejados por apktool la última vez que verifiqué, y son manejados por zzos. También hay algunos casos de escape que zzos maneja mejor.
En el lado negativo de las cosas, zzos (versión actual) requiere algunas herramientas de soporte para su instalación. Está escrito en perl (a diferencia de APKTool, que está escrito en Java) y usa aapt para la descompilación real. Tampoco descompila todavía los recursos de atributo (lo que hace APKTool).
El significado del nombre es "aapt", el compilador de recursos de Android, bajado una letra.
4 formas sugeridas de abrir archivos apk:
1.Abra el archivo apk de Android Studio (para foto, código java y analizar tamaño) de la mejor manera
2.abrir mediante aplicaciones winRar, 7zip, etc (solo para ver fotos y ...)
3.use compiladores javade del sitio web (para foto y código java)
4.use herramientas APK (para foto y código java)
unzip my.apk
Esto funciona desde la línea de comandos de Linux, ya que el formato APK es solo un archivo ZIP en la parte superior.
Hay un descompilador en línea para las aplicaciones de Android
http://www.decompileandroid.com/
Cargar apk desde la máquina local
Espera unos momentos
descargar el código fuente en formato zip.
Descomprímalo, puede ver todos los recursos correctamente, pero no todos los archivos java se descompilan correctamente.
Para obtener más detalles, visite esta respuesta
Según el motivo por el que desee extraer el APK, APK Analyzer puede ser suficiente. Le muestra directorios y tamaños de archivos. También muestra los recuentos de métodos agrupados por paquete en los que puede profundizar.
APK Analyzer está integrado en Android Studio. Puede acceder a él desde el menú superior, Compilar -> Analizar APK.
También puede usar Jadx - https://github.com/skylot/jadx . He utilizado todas las herramientas mencionadas en esta página y descubrí que Jadx funciona mejor. El archivo de manifiesto y otros archivos de clase se convierten a un formato legible tanto como sea posible con esta herramienta.
PD: http://www.javadecompilers.com/apk también usa el descompilador jadx para hacer el mismo trabajo en línea. Más simple si desea desarchivar una sola apk.
¡Salud!
También puede ver el contenido de un archivo APK dentro del dispositivo Android, lo que ayuda mucho en la depuración.
Todos los archivos, incluido el manifiesto de una aplicación, se pueden ver y también compartir mediante correo electrónico, nube, etc., sin necesidad de enraizamiento. La aplicación está disponible en:
https://play.google.com/store/apps/details?id=com.dasmic.android.apkpeek
Descargo de responsabilidad: soy el autor de esta aplicación.
El escáner APK puede mostrar la información del archivo APK en la PC.
Además, se puede extraer un archivo apk del dispositivo Android.
Y se puede vincular a otras herramientas (JADX-GUI, JD-GUI ...)