¿Es posible descompilar un archivo apk Android?
-
30-09-2019 - |
Pregunta
¿Son los usuarios capaces de convertir el archivo APK de la espalda aplicación al código real? Si lo hacen - ¿hay alguna manera de evitar que esto
?Solución
En primer lugar, un href="http://en.wikipedia.org/wiki/APK_%28file_format%29" rel="noreferrer"> archivo apk es sólo un archivo jar modificado. Así que la verdadera pregunta es ¿pueden descompilar los archivos DEX interior. La respuesta es más o menos. Ya hay desensambladores, tales como dedexer y smali . Usted puede esperar que estos sólo para conseguir mejor, y teóricamente el tiempo debería ser posible descomponer a la fuente real de Java (por lo menos a veces). Ver la pregunta anterior descompilación DEX en Java código fuente .
Lo que debe recordar es la ofuscación nunca funciona. Elija una licencia bien y hacer todo lo posible para hacer cumplir a través de la ley. No pierda el tiempo con medidas técnicas poco fiables.
Otros consejos
ApkTool Para ver los recursos dentro del archivo APK
- Los extractos AndroidManifest.xml y todo en res carpeta (archivos del formato XML, imágenes, htmls utilizados en la vista web, etc ..)
- comando:
apktool.bat d sampleApp.apk
- Nota: Esto se puede conseguir mediante el uso de utilidad de compresión como 7-zip. Pero, también extrae el archivo .smali de todos los archivos .class.
Uso dex2jar
- Genera archivo .jar del archivo apk, necesitamos JD-GUI para ver el código fuente de esta .jar.
- comando:
dex2jar sampleApp.apk
descompilación .jar usando JD-GUI
- decompiles los archivos .class (obfuscated- en un caso de la aplicación para Android, sino un código original legible se obtiene en un caso de otro archivo .jar). es decir, obtenemos .java de vuelta de la aplicación.
También puedo añadir, que hoy en día es posible descompilar aplicación de Android en línea, no requiere software!
Aquí hay 2 opciones para usted:
Descarga esta herramienta jadx https://sourceforge.net/projects/jadx/files/
descomprimirlo y que en lib archivo jadx-GUI-0.6.1.jar plazo carpeta ahora navega en el archivo APK. Se hace. Automáticamente apk descompilará y guardarla pulsando el botón Guardar. Espero que funcione para usted. Gracias
Código de veces que se rompen, cuando se utiliza dex2jar
/ apktool
, sobre todo en los bucles. Para evitar esto, utilice jadx , que descompile Dalvik código de bytes en el código fuente de Java, sin crear un archivo .jar
/ .class
primero como dex2jar
hace (apktool usos dex2jar creo). También es de código abierto y en desarrollo activo. Incluso tiene una interfaz gráfica de usuario, por Gui-fanáticos. Inténtelo!
¿Son los usuarios capaces de convertir el archivo APK de la espalda aplicación al código real?
Sí.
La gente puede utilizar varias herramientas para:
- Análisis: el APK
- decodificación / hurgar en tu apk
- usando
FDex2
a volcar archivodex
- a continuación, utilizando
dex2jar
para convertir ajar
- a continuación, utilizando
jadx
a conver al código fuentejava
- a continuación, utilizando
- a continuación, utilizando
- usando
Si lo hacen - ¿hay alguna manera de evitar que esto
Sí. Varias maneras (CAN combinado) para prevenir (cierto grado) siguiente:
- bajo nivel: la ofuscación de código
- usando
ProGuard
Android
- usando
- alto nivel: el uso android escenario se endurecen
Más información puede referirse a mi chino tutorial: ?? ?? ??? ? ??