Existe uma maneira de extrair e visualizar o conteúdo de um arquivo .apk?
Existe uma maneira de extrair e visualizar o conteúdo de um arquivo .apk?
Respostas:
Na verdade, o arquivo apk é apenas um arquivo zip, então você pode tentar renomear o arquivo para theappname.apk.zip
e extraí-lo com qualquer utilitário zip (por exemplo, 7zip).
O androidmanifest.xml
arquivo e os recursos serão extraídos e podem ser visualizados, embora o código-fonte não esteja no pacote - apenas o arquivo .dex compilado ("Dalvik Executable")
Embora a descompactação revele os recursos, o AndroidManifest.xml
será codificado. apktool
pode - entre muitas outras coisas - também decodificar este arquivo.
Para decodificar o aplicativo App.apk
na pasta App
, execute
apktool decode App.apk App
apktool
não está incluído no Android SDK oficial, mas está disponível usando a maioria dos repositórios de pacotes.
Também há zzos . (Divulgação completa: eu escrevi). Ele apenas descompila os recursos reais, não a parte dex ( baksmali , que eu não escrevi, faz um excelente trabalho ao lidar com essa parte).
O Zzos é muito menos conhecido do que o apktool, mas existem alguns APKs que são mais bem gerenciados por ele (e vice-versa - mais sobre isso depois). Geralmente, os APKs contendo tipos de recursos personalizados (não modificadores) não eram tratados pelo apktool da última vez que verifiquei e são gerenciados pelo zzos. Existem também alguns casos de escape que o zzos lida melhor.
Do lado negativo das coisas, zzos (versão atual) requer algumas ferramentas de suporte para instalar. Ele é escrito em perl (ao contrário do APKTool, que é escrito em Java) e usa aapt para a descompilação real. Ele também não descompila recursos de atribuição ainda (o que o APKTool faz).
O significado do nome é "aapt", o compilador de recursos do Android, deslocado uma letra para baixo.
4 maneiras sugeridas de abrir arquivos apk:
1. Abra o arquivo apk pelo Android Studio (para foto, código java e analise o tamanho) da melhor maneira
2. abrir pelos aplicativos winRar, 7zip, etc (só para ver fotos e ...)
3. use compiladores javadec do site (para fotos e código java)
4. use ferramentas APK (para fotos e código java)
unzip my.apk
Isso funciona na linha de comando do Linux, pois o formato APK é apenas um arquivo ZIP no topo.
Existe um descompilador online para apks Android
http://www.decompileandroid.com/
Carregar apk da máquina local
Espere alguns momentos
baixe o código-fonte em formato zip.
Descompacte-o, você pode ver todos os recursos corretamente, mas todos os arquivos java não são descompilados corretamente.
Para detalhes completos visite esta resposta
Dependendo do motivo para extrair o APK, o APK Analyzer pode ser suficiente. Mostra diretórios e tamanhos de arquivos. Ele também mostra contagens de métodos agrupadas por pacote que você pode detalhar.
O APK Analyzer é integrado ao Android Studio. Você pode acessá-lo no menu superior, Build -> Analyze APK.
Você também pode usar Jadx - https://github.com/skylot/jadx . Usei todas as ferramentas mencionadas nesta página e descobri que Jadx funciona melhor. O arquivo de manifesto e outros arquivos de classe são convertidos para um formato legível tanto quanto possível por esta ferramenta.
PS - http://www.javadecompilers.com/apk também usa o descompilador jadx para fazer o mesmo trabalho online. Mais simples se você deseja desarquivar um único apk.
Felicidades!
Você também pode ver o conteúdo de um arquivo APK no próprio dispositivo Android, o que ajuda muito na depuração.
Todos os arquivos, incluindo o manifesto de um aplicativo, podem ser visualizados e também compartilhados por e-mail, nuvem etc., sem necessidade de root. O aplicativo está disponível em:
https://play.google.com/store/apps/details?id=com.dasmic.android.apkpeek
Aviso Legal: Eu sou o autor deste aplicativo.
O APK Scanner pode mostrar as informações do arquivo APK no PC.
Além disso, pode ser obtido um arquivo apk do dispositivo Android.
E pode ser vinculado a outras ferramentas. (JADX-GUI, JD-GUI ...)