Los archivos de programas de Android tienen formato APK. El archivo APK es el programa final de ejecución de Android, siendo APK el acrónimo de Android Package, similar a los archivos .sis en el sistema operativo Symbian y a los archivos JAR en la plataforma J2ME. Los archivos APK en realidad tienen formato de archivo ZIP, pero la extensión se cambia a APK. Al descomprimirlos con RAR, se pueden ver archivos Dex. Dex es el acrónimo de Dalvik VM executes, es decir, el programa de ejecución Dalvik de Android, y no es código byte de Java, sino código byte de Dalvik.
La estructura de un archivo APK es:
- res/: directorio que almacena archivos de recursos
- META-INF/: archivo de Jar que usualmente contiene resources.arsc, recursos binarios compilados, principalmente cadenas usadas en el programa
- AndroidManifest.xml: archivo de configuración global del programa
- classes.dex: archivo de código byte de Dalvik; nuestros archivos JAVA son compilados a bytecode en formato DEX
Resumiendo, encontramos que cuando Android ejecuta un programa, primero necesita descomprimirlo, luego procede de manera similar a Symbian, diferente de los archivos PE en Windows Mobile. Este método no es muy seguro ni confiable en términos de confidencialidad del programa. Sin embargo, usando el comando dexdump se puede descompilar, y este enfoque sigue la tendencia de desarrollo; los Windows Gadgets de Microsoft o incluso WPF usan tal estructura.
1. Archivos Java - Archivos fuente de la aplicación
Creo que estos son los archivos que la mayoría asocia al escuchar 'Android'. Gran parte del propio Android está escrito en Java (básicamente la parte azul en los diagramas de arquitectura está desarrollada en Java). Las aplicaciones de Android deben desarrollarse usando Java.
2. Archivos Class - Archivos objetivo compilados de Java
A diferencia de cuando usamos J2SE, donde el archivo Java compilado a class se puede ejecutar directamente, en la plataforma Android los archivos class no pueden ejecutarse directamente. Debido a que Google usa su propia Dalvik para ejecutar aplicaciones, estos archivos class tampoco pueden ejecutarse en el entorno Java de Sun. Personalmente, siento que los archivos class de Android son solamente archivos objetivo intermedios en el proceso de compilación, que necesitan vincularse en archivos DEX antes de poder ejecutarse en Dalvik.3. Archivo Dex-----Archivo ejecutable en la plataforma Android El formato de archivo de bytecode soportado por la máquina virtual Dalvik de Android Google, en la nueva plataforma Android lanzada, utiliza su propia máquina virtual Dalvik para definirla, la cual no ejecuta bytecode de Java, sino otro tipo de bytecode: bytecode en formato dex. Después de compilar el código Java, se pueden usar herramientas en la plataforma Android para convertir el bytecode de Java en bytecode Dex. Aunque Google afirma que Dalvik está hecho a medida para dispositivos móviles, muchas personas en la industria creen que esto es para evitar solicitar la licencia de Java a Sun. Debido a que no se han hecho públicos muchos detalles, actualmente no se puede encontrar la implementación específica de Dalvik, solo se pueden realizar algunos análisis simples basados en el SDK. Esta VM Dalvik está optimizada para aplicaciones móviles/CPU, puede ejecutar muchas VM al mismo tiempo sin ocupar demasiados recursos. Actualmente, el código fuente de Dalvik VM aún no se ha liberado para descarga (en el futuro todo el sistema será abierto); desde la perspectiva de Google, se busca que todos puedan usar este SDK para empezar a desarrollar AP, y los detalles más profundos se irán publicando poco a poco. 4. Archivo Apk-------Archivo de instalación en Android Apk es la extensión del paquete de instalación de Android. Un paquete de instalación de Android contiene todos los archivos relacionados con una aplicación Android específica. El archivo apk empaqueta el archivo AndroidManifest.xml, el código de la aplicación (.dex), archivos de recursos y otros archivos en un paquete comprimido. Un proyecto solo puede compilarse en un archivo .apk. En cuanto a cómo piratearlo, eso depende de cada persona.
Si quieres ver cómo hackear juegos de Android, entra.
Respuestas (4)
Es muy probable que esté en .dex.
)╮(〉_〉")╭ arriba
¡No entendí! Jeje
No entendí..
— Todas las respuestas cargadas —