APKTool: una herramienta para la ingeniería inversa de archivos APK de Android

Publicado el 16 noviembre 2021 por Recuperarcorreo

APKTool es una herramienta para aplicaciones de Android binarias cerradas de terceros con ingeniería inversa. Puede decodificar los activos en una forma casi original y reconstruirlos después de realizar algunos cambios; permite depurar código pequeño paso a paso. Además, facilita el trabajo con la aplicación gracias a la estructura de archivos similar a un proyecto y la automatización de algunas tareas repetitivas como crear apk, etc.

Nota: NO está destinado a la piratería ni a otros usos ilegales. Podría usarse para localización, agregar algunas características o soporte para plataformas personalizadas y otro BUEN propósito. Solo trata de ser honesto con los creadores de una aplicación que usas y que probablemente te guste.

Características

  • Desarmado de recursos en una forma casi original (incluidos resource.arsc, classes.dex, 9.png y XMLs)
  • Reconstruir los recursos decodificados en APK / JAR binarios
  • Organizar y administrar APK que dependen de los recursos del marco
  • Debug Smali (eliminado en 2.1.0 en favor de IdeaSmali)
  • Ayudar con tareas repetitivas

Requisitos

  • Java 8 (JRE 1.8)
  • Conocimientos básicos de Android SDK, AAPT y smali

Cómo instalar APKTool

  • ventanas:
    • Descarga Windows envoltorio de script (Clic derecho, Guardar enlace como apktool.bat).
    • Descarga apktool.
    • Cambiar el nombre del jar descargado a apktool.jar
    • Mover ambos archivos (apktool.jar Y apktool.bat) en el directorio de Windows (normalmente C: // Windows).
    • Si no tiene acceso a C: // Windows, puede colocar los dos archivos en cualquier lugar y luego agregar ese directorio a la variable PATH del sistema de variables de entorno.
    • Intenta correr apktool a través del símbolo del sistema.
  • Linux:
    • Descarga Linux envoltorio de script (Clic derecho, Guardar enlace como apktool).
    • Descarga apktool.
    • Cambiar el nombre del jar descargado a apktool.jar
    • Mover ambos archivos (apktool.jar Y apktool) para / usr / local / bin (raíz necesaria).
    • Asegúrese de que ambos archivos sean ejecutables (chmod + x).
    • Intenta correr apktool a través de cli.
  • Mac OS X:
    • Descarga Mac envoltorio de script (Clic derecho, Guardar enlace como apktool).
    • Descarga apktool.
    • Cambiar el nombre del jar descargado a apktool.jar
    • Mover ambos archivos (apktool.jar Y apktool) para / usr / local / bin (raíz necesaria).
    • Asegúrese de que ambos archivos sean ejecutables (chmod + x).
    • Intenta correr apktool a través de cli.
Nota: Los scripts de envoltura no son necesarios, pero son útiles para que no tenga que escribir java -jar apktool.jar una y otra vez.

Cómo crear APKTool desde la fuente

APKTool es una colección de 1 proyecto, que contiene subproyectos y algunas dependencias.

  • brut.apktool.lib - (Principal, todo el código de la biblioteca)
  • brut.apktool.cli - La interfaz cli del programa.
  • brut.j.dir - Proyecto de utilidad
  • brut.j.util - Proyecto de utilidad
  • brut.j.common - Proyecto de utilidad

Requisitos:

  • JDK8 (Oracle u OpenJDK)
  • idiota

Fases de construcción:

  • Primero clona el repositorio.
    • git clon git: //github.com/iBotPeaches/Apktool.git
    • cd Apktool
    • Para los pasos 3-5 use ./gradlew para sistemas basados ​​en Unix o gradlew.bat para ventanas.
    • [./gradlew][gradlew.bat] construir shadowJar - Construye Apktool, incluido el binario final.
    • Opcional (puedes construir un jarrón Proguard) [./gradlew][gradlew.bat] construir shadowJar proguard

Después de compilar, debería tener un archivo jar en:
./brut.apktool/apktool-cli/build/libs/apktool-xxxxx.jar

Requisitos de Windows

Windows tiene algunas limitaciones con respecto a la ruta máxima de archivos. En una ubicación en APKTool, hay una ruta de directorio de 218 caracteres, lo que significa que debido a la limitación de 255 caracteres como máximo en Windows, tenemos que aplicar algunos requisitos.

Esto deja 37 caracteres en total para clonar el proyecto en Windows. Por ejemplo, podemos clonar este proyecto en la ubicación.

C:/Users/Connor/Desktop/Apktool

Tiene 31 caracteres de largo, lo que le permite clonar APKTool con éxito. La clonación del proyecto en un directorio de más de 37 caracteres no funcionará.

Descargar APKtool

La entrada APKTool: una herramienta para la ingeniería inversa de archivos APK de Android se publicó primero en Recuperar Correo.