Descompilación de un archivo APK en Android

Archivo APK para Android Cada sistema operativo tiene sus propios tipos de archivos, que son programas ejecutables. Entonces, en Windows tienen la extensión '.exe', en MacOS su función está más o menos colgada en los archivos contenedores '.pkg', y en Android – '.apk'.

Esta extensión significa Android Paquete y significa que el archivo contiene todos los componentes necesarios para ejecutar la aplicación. Se distribuyen a través de Play Store o sus contrapartes gratuitas como F-droid.

Además, en varios sitios dedicados a dispositivos móviles, por ejemplo, w3bsit3-dns.com o XDA, dichos archivos se pueden descargar de forma independiente. La instalación de este último puede requerir acciones adicionales por parte del usuario, como activar el derecho a implementar componentes de software obtenidos de fuentes desconocidas en el dispositivo en la configuración del teléfono.

Descompilación de aplicaciones y sus funciones

Uno de los lenguajes de programación que se utiliza al escribir programas para el sistema operativo Android es Java. Como regla general, los principiantes y las personas que están acostumbradas a sus herramientas escriben programas en él. Los grandes desarrolladores utilizan otros lenguajes que dan más libertad para utilizar bibliotecas o componentes de software de terceros.

Para que el código escrito se convierta en una aplicación funcional, debe compilarse con el compilador integrado en el SDK (Software Development Kit). El proceso inverso, cuando el código del programa se obtiene del archivo APK terminado, se denomina descompilación.

¿Por qué podría necesitar descompilar dichos archivos? Hay varias situaciones en las que esto resulta útil:

  1. El usuario no tiene suficientes funciones proporcionadas y tiene suficiente conocimiento y experiencia para realizar cambios en el código terminado.
  2. Vea cómo funciona un determinado componente del programa y obtenga la experiencia necesaria en su implementación al crear su propio producto.
  3. Determine si la aplicación utiliza algún código malicioso.

Como puede ver, todas estas tareas requieren algo de experiencia con lenguajes de programación y Android SDK. Pero al mismo tiempo, en Internet hay muchas instrucciones que los principiantes también pueden hacer, lo que hace que el proceso de compilación inverso sea útil para ellos. Solo tienes que seguir las instrucciones.

al contenido

Descompiladores de APK

Hay tres tipos de este tipo de software: instalados en una computadora, en el teléfono del usuario y basados ​​en la nube. El primero y el segundo tienen una gama más amplia de funciones. Estos últimos son atractivos porque no utilizan el rendimiento del hardware y funcionan directamente desde el navegador. La desventaja de los servicios en la nube es el soporte limitado para módulos y complementos de terceros, el usuario se queda con el conjunto de funciones que proporciona el propietario del servicio.

Vale la pena señalar que los desarrolladores incorporan protección contra tales acciones. Esto se denomina ofuscación y se realiza a través de servicios especiales. Al mismo tiempo, la estructura y funcionalidad del programa completamente ensamblado no se viola, pero después de la descompilación, el usuario recibe piezas incoherentes de código de máquina que hacen imposible un análisis detallado.

al contenido

Mejor software para PC

Esta es una de las utilidades con más funciones: APK Easy Tool . Funciona con varios tipos de archivos y es capaz de descomprimir archivos en cualquier etapa de desarrollo. La ventana principal contiene varias pestañas que contienen todas las funciones de la utilidad:

  • Main es el punto de partida para trabajar con programas. Aquí puede establecer una carpeta para recibir todos los archivos de origen mediante ingeniería inversa, descompilarlos y compilarlos, firmar y modificar firmas después de realizar cambios. En la parte inferior de la pestaña para todos los procesos, se muestra toda la información de servicio sobre las versiones del kit de herramientas. APK Easy Tool
  • Marco: una pestaña para conectar módulos y marcos adicionales que pueden ayudar en el proceso de desembalaje o empaquetado del producto terminado. Admite la instalación del marco en formato APK y la asignación de una carpeta separada para cada versión o variedad. Marco de referencia
  • Smali / backsmali – respectivamente, un compilador y un descompilador de archivos escritos en formato decimal. En el momento de escribir este artículo, la función se encuentra en versión beta, pero funciona sin errores importantes. La funcionalidad es bastante primitiva, solo hay dos botones: 'Compilar' y 'Decompilar'. Puede seleccionar carpetas para el código fuente o el destino de almacenamiento de destino para el resultado recompilado. Compilación y descompilación
  • Salida de registro: una pestaña útil para depurar procesos, contiene todos los registros de cada uno de los procesos iniciados. Análisis de registros
  • Opciones: le permite configurar de manera flexible el programa para realizar todas las tareas. Hay opciones para conectar diferentes versiones de Apktool y la utilidad APK Signer para garantizar la máxima compatibilidad con versiones anteriores Android. Hay 4 pestañas propias con diferentes parámetros. Configuraciones
  • Preguntas más frecuentes : preguntas frecuentes, instrucciones integradas para ayudar a los usuarios a superar los errores más comunes en su trabajo. FAQ
  • Acerca de: información de la versión y contactos del desarrollador con detalles para soporte voluntario. Sobre el programa, donaciones

La aplicación funciona en versiones Windows a partir de Vista y no es compatible con la interfaz rusa. En términos de funcionalidad, es bastante adecuado tanto para un principiante que lo manejará con la ayuda de instrucciones y manuales de video, como para un desarrollador de aplicaciones experimentado.

al contenido

Descompilación en un dispositivo móvil

Cuando no es posible depurar una aplicación en una computadora, pero es imperativo hacerlo, los programas telefónicos vienen al rescate. Estos también son archivos APK, que no son demasiado ricos en configuraciones, pero descompiladores Java confiables. La más simple, pero al mismo tiempo útil, de estas utilidades es Show Java – A Java Decompiler.

El principio de funcionamiento es muy sencillo:

  1. La ventana inicial es bastante minimalista: un saludo y un botón '+' para comenzar a trabajar. Mostrar Java: un descompilador de Java
  2. Al hacer clic en el '+', el usuario debe elegir dónde descargar el programa para la descompilación: desde la memoria interna o elegir entre los que ya están instalados. Selección de método
  3. Si se selecciona el primer elemento, el siguiente paso es navegar a la carpeta con los archivos APK y seleccionar uno de ellos. Luego debe confirmar esta acción haciendo clic en Seleccionar. Carpeta con archivos apk
  4. Después de eso, se selecciona un descompilador para usarlo en el proceso. Selección del descompilador
  5. Y luego se muestra una ventana con el progreso de la operación. Si tiene éxito, el usuario ve todos los archivos necesarios para que la aplicación funcione y su código fuente. De lo contrario, se muestra una ventana de error. Proceso de descompilación

Entre las deficiencias, la decodificación deficiente de los archivos que estaban sujetos a ofuscación. En cuanto al resto, el conjunto de características aquí es prácticamente indistinguible de las contrapartes de escritorio.

al contenido

Servicio de almacenamiento en la nube

Javadecompilers.com proporciona todas las capacidades para analizar archivos APK en sus partes componentes. Además de un buen descompilador online, también existe una versión en red de APKTools, que es útil si no se tienen los dispositivos necesarios a mano o el usuario no quiere perder tiempo instalando aplicaciones.

El principio de funcionamiento es simple:

  1. Debe abrir su navegador e ir a javadecompilers.com/apk. Servicio en la nube para descompilación
  2. Seleccione el archivo del Explorador y haga clic en el botón “Cargar y descompilar”.
  3. El proceso de descompilación se ve así aquí (la línea roja – progreso, que indica un proceso específico, se duplica en la parte inferior de la pantalla en el área con el título Resultados de descompilación). Proceso de descompilación
  4. Una vez finalizado el proceso, el estado cambia a una ventana de este tipo, en la que existe la oportunidad de descargar los archivos recibidos. Descargar archivos recibidos
  5. La vista previa del archivo se encuentra en la parte inferior de la página y le permite evaluar el grado de éxito una vez finalizado. La estructura del archivo se guarda en la forma en que se descargará el archivo, con todo el árbol de directorios y subdirectorios. Si el contenido de al menos uno de ellos es difícil de leer, la ofuscación no se puede omitir. Descompilación exitosa del archivo apk
  6. Todos los archivos están empaquetados en un archivo y tienen este aspecto. Archivo recibido

Una vez desempaquetados, puede hacer lo que quiera con ellos. El servicio en la nube proporciona acceso ilimitado, aunque muestra muchos anuncios en el transcurso de su trabajo. Se utiliza un descompilador JaDX para funcionar, lo que puede no cumplir con los requisitos de algunos proyectos. El enlace al proyecto se puede publicar en una de las redes sociales. No hay importación en github, lo que tampoco es muy conveniente para el desarrollador final que no tiene las herramientas necesarias a mano.

Rate article
Todo para Android y no solo | Consejos, instrucciones, root, noticias y reseñas de aplicaciones.
Add a comment