Olá pessoal, este é um tutorial de como extrair, recompilar e assinar aplicativos para android.
Primeiro você precisa instalar em seu computador o "Java SE Development Kit" e baixar o "apktool" e o "signapk".
Java JDK: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html (https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html)
Apk tool: https://ibotpeaches.github.io/Apktool/install/ (https://ibotpeaches.github.io/Apktool/install/)
Sign apk: https://mega.nz/file/vFkA3CBJ#55FvBxyN5LoGNkh9pKpwzEka_Q_4fDFShv1CJ1ReSJk (https://mega.nz/file/vFkA3CBJ#55FvBxyN5LoGNkh9pKpwzEka_Q_4fDFShv1CJ1ReSJk)
CONFIGURANDO AS VARIÁVEIS DO AMBIENTE JAVA
Após ter instalado o java, antes de começar a mexer no .apk você precisa configurar as variáveis do ambiente java.
Clique com o botão direito em Meu Computador" e selecione Propriedades, vá em Configurações Avançadas do Sistema e Variáveis do Sistema. Nesta nova janela que abriu iremos criar duas novas variáveis e editar uma existente.
(https://cdn.discordapp.com/attachments/639807433027485696/700020452017307698/unknown.png)
Em Variáveis do sistema clique em Novo, e crie a variável com nome "JAVA_HOME" e para colocar o valor clique Procurar no Diretório e selecione a pasta que o Java JDK está instalado, no meu computador se localiza em "C:\Program Files\Java\jdk1.8.0_251".
Crie outra nova variável com nome "CLASSPATH" e em Valor da variável coloque:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\jre\lib;%JAVA_HOME%\jre\lib\rt.jar
Agora procure a variável "Path", selecione-a e clique em Editar, Editar Texto e dê um OK. Em Valor da variável vá até o final e coloque:
;%JAVA_HOME%\bin
Após terminado dê OK em tudo e REINICIE O SEU COMPUTADOR.
INSTALANDO O APK TOOL
Abra o link e você irar se deparar com "Installation for Apktool" procure por "wrapper script", clique com o botão direto em cima e clique em "Salvar link como". No Nome coloque "apktool.bat", em Tipo coloque Todos os arquivos e salve.
(https://cdn.discordapp.com/attachments/639807433027485696/700021437523820605/Sem_titulo.png)
Procure agora por (find newest here), abra e baixe a última versão do apktool. No meu caso é a versão 2.4.1.
Crie uma pasta em seu computador chamada ApkTool, jogue os dois arquivos dentro dela, para facilitar o processo futuramente recomendo renomear o arquivo que você acabou de baixar para apenas apktool.
EXTRAINDO O .APK
Finalmente chegou a hora de extrair o dito cujo. Nesse tutorial para ilustrar irei extrair e recompilar o jogo Ace Attorney Investigations – Miles Edgeworth. Tendo o .apk em mãos, jogue-o dentro da pasta ApkTool, eu o renomeei para apenas AAI para facilitar futuramente.
Precisaremos abrir o Prompt de Comando mas ele precisará está apontado para a pasta do apktool, então cliqeu onde está o endereço da pasta, apague o endereço, digite cmd e dê um Enter.
(https://cdn.discordapp.com/attachments/639807433027485696/700023184610820106/Sem_titulo.png)
Após aberto o Prompt de Comando para saber se ele está apontando corretamente para a pasta do apktool basta ver se o endereço da pasta está correto. No meu caso tá certo.
(https://cdn.discordapp.com/attachments/639807433027485696/700023412877426759/Sem_titulo.png)
Para todos os comandos que vamos digitar no Prompt de Comandos eu sugiro que digite manualmente invés de copiar e colar.
Para iniciarmos precisaremos intalar o Framework do APK. Digite:
apktool if (nome do apk)
(https://cdn.discordapp.com/attachments/639807433027485696/700023631899656353/Sem_titulo.png)
Dê um enter e aguarde um momento. Se tudo der certo aparecerá "Framework installed to..."
Para extrair o apk digite:
java –jar apktool.jar d –s (nome do apk)
(https://cdn.discordapp.com/attachments/639807433027485696/700024186382581830/Sem_titulo.png)
Este processo pode demorar um pouco mais, depende do apk. Para saber se já terminou de extrair basta esperar aparecer este "C:\Users\i...".
Pronto, dentro da pasta apktool foi gerada uma nova posta com o seu apk extraído. Cabe a você explorar e descobrir o que é cada coisa.
RECOMPILANDO O .APK
Após ter feito as devidas mudanças iremos recompilar o apk.
Se tiver fechado abra o Prompt de Comando novamente com ele apontado para a pasta do apktool.
Digite e dê enter:
java –jar apktool.jar b (nome da pasta extraída)
(https://cdn.discordapp.com/attachments/639807433027485696/700024432927703059/Sem_titulo.png)
Abra a pasta do seu apk extraído e dentro dela terá sido gerada uma nova pasta chamada "dist", dentro dela estará o novo apk recompilado.
ASSINANDO O .APK
Acha que acabou? Pois está enganado, para o aplicativo funcionar no seu dispositivo ele precisa ter uma assinatura. É aqui que entra aquele arquivo que baixamos lá no início, o SignApk.
Extraia o SignApk.rar e dentro da pasta gerada cole o novo apk que você gerou.
Faça novamente aquele mesmo esquema de abrir o Prompt de Comando mas desta vez apontando para a pasta do signapk.
Digite:
java -jar signapk.jar certificate.pem key.pk8 (nome do apk) (novo nome para o apk)
(https://cdn.discordapp.com/attachments/639807433027485696/700024647806091415/Sem_titulo.png)
Pronto, foi gerado o novo apk, basta instalar no seu dispositivo.
Espero que este tutorial tenha sido útil para você.
ROMHACKING TÁ VIVO!
Já vou deixar guardado pra fuçar uns jogos no futuro hehe :bomba: