MASTG-TOOL-0011: Ferramenta Apktool
Apktool é usado para descompactar pacotes de aplicativos Android (APKs). Simplesmente descompactar APKs com o utilitário padrão
unzip deixa alguns arquivos ilegíveis. O AndroidManifest.xml é codificado em formato binário XML, que não é legível com um editor de texto. Além disso, os recursos do aplicativo ainda estão empacotados em um único arquivo de armazenamento.
Quando executado com sinalizadores de linha de comando padrão, o apktool decodifica automaticamente o arquivo Android Manifest para o formato XML baseado em texto e extrai os recursos do arquivo (ele também desmonta os arquivos .DEX em código smali - um recurso que revisitaremos mais adiante neste livro).
Entre os arquivos descompactados, você geralmente pode encontrar (após executar apktool d base.apk):
- AndroidManifest.xml: O arquivo Android Manifest decodificado, que pode ser aberto e editado em um editor de texto.
- apktool.yml: arquivo contendo informações sobre a saída do apktool
- original: pasta contendo o arquivo MANIFEST.MF, que contém informações sobre os arquivos contidos no arquivo JAR
- res: diretório contendo os recursos do aplicativo
- smali: diretório contendo o bytecode Dalvik desmontado.
Você também pode usar o apktool para reempacotar os recursos decodificados de volta para APK/JAR binário. Consulte as técnicas Explorando o Pacote do Aplicativo e Repackaging and Re-Signing para obter mais informações e exemplos práticos.