Procurando na internet um meio de
vê como extrai o código fonte de uma aplicação Android, achei os links acima, o primeiro ensina como
descompactar o apk extraindo os códigos fontes e também os XML de layout, o
segundo é uma ferramenta disponibilizada no fórum da XDA que faz todo o trabalho
de decompilação dos apks e pode fazer também a alteração dos fontes e posterior
compilação novamente.
Com base nestes dois links fiz um
BAT para decompilar um APK mais adequado e simples para minha utilização.
Disponibilizo aqui para quem queira dá uma estudada.
Aviso: Respeite os direitos
autorais.
Faça o Download nestes links:
Depois de descompactado ele fica
com a seguinte estrutura:
| Estrutura do Diretório |
A estrutura de diretórios tem os
seguintes pastas:
- apks – Onde se coloca os arquivos apk que se quer decompilar.
- apktool – Arquivos do apktool.
- Decompilados – Onde um BAT descompacta os arquivos.
- dex2jar – Utilitário para gerar o jar com o código fonte do apk.
- Other – Outros arquivos necessários para descompactar o apk.
- decompila.bat – Arquivo de lote que executar as tarefas necessárias para a decompilação do apk.
| Execução do BAT decompila.bat |
Escolha a opção 1 para se escolher
um APK para decompilar e será lidos os
arquivos do diretório apks e será criado uma lista para escolha do apk para
decompilar.
| Escolha do APK |
Após a escolha do apk para decompilar execute as opções
2,3,4 para gerar os arquivos descompactados e a opção número 5 para sair do
BAT. Será criado no diretório Decompilados a seguinte estrutura:
| Estrutura criada pela decompilação |
Onde:
- MinhaAplicacao – É o nome do programa selecionado para decompilação.
- MinhaAplicacao.apk - É o diretório onde se encontra os fontes do apk no arquivo jar criado.
- Xml – É o diretório com os arquivos xml dos layouts do apk.
A visualização do fonte do apk é feita com o programa Java
Decompiler do site: http://java.decompiler.free.fr.
| Visualização do código fonte |
Logo abaixo tem a comparação dos código originais e os
gerados pela decompilação:
| Comparação dos códigos fontes originais e decompilados |
Espero que este tutorial seja de ajuda para alguém.