Cómo ejecutar archivos pequeños
¿Qué es un archivo pequeño?
El archivo de programa de Android, es decir, el archivo apk, es en realidad un paquete comprimido. La estructura del archivo es la siguiente:
Entre ellos. Classes.dex es el programa. El archivo principal es el código del programa de código de bytes binario compilado en lenguaje Java. Este programa de código de bytes está compilado específicamente para lectura automática y es similar al código de máquina en lenguaje ensamblador. Sin embargo, si desea leer esta parte del programa directamente, lo mejor que puede hacer es convertir este archivo en un archivo pequeño.
apktool
El famoso descompilador apktool puede hacer esto. Descompila el archivoclasses.dex en un montón de archivos pequeños, que se almacenan en sus propias carpetas según la estructura del paquete del código fuente. De esta manera, puede chinoizar el apk o eliminar los anuncios incrustados en el apk.
La sintaxis pequeña es similar a la sintaxis del lenguaje ensamblador, implica operaciones directas en registros, que se pueden leer directamente, pero es más oscura, especialmente después de la ofuscación del código.
dex2jar
Algunas personas han creado una herramienta especial dex2jar, que puede convertir clases.dex en un archivo jar que jd-gui puede leer.
Pero dex2jar no es potente y la mayoría de los archivos java descompilados tienen errores de compilación. Es fácil de leer y analizar, pero cuando se trata de cosas muy detalladas aún necesitas confiar en smali. El editor recomendado para archivos pequeños es sublime sublime-smali; consulte el artículo "Instalación del complemento de resaltado de sintaxis de código pequeño para Sublime Text".