O que é o APKTool Zombie 2 e por que você deve usá-lo
Se você é um entusiasta do Android que gosta de modificar apps ou descobrir seus segredos, provavelmente já ouviu falar do APKTool. É a ferramenta de engenharia reversa mais popular para descompilar APKs Android em código pequeno, que pode ser convertido em código Java para facilitar a análise. Ele também pode decodificar recursos para uma forma quase original e reconstruí-los depois de fazer algumas modificações.
Mas você sabia que há uma nova versão do APKTool que foi lançada recentemente? é chamado APKTool Zombie 2 e é uma bifurcação do APKTool original com muitas melhorias e recursos. Neste artigo, mostraremos como instalar e usar o APKTool Zombie 2 no seu dispositivo, como decodificar e recompilar aplicativos Android usando-o, como usá-lo para modificar e fazer engenharia reversa de aplicativos Android e como se manter atualizado com a versão mais recente dele.
apktool zombie 2
Como instalar o APKTool Zombie 2 no seu dispositivo
Instalar o APKTool Zombie 2 no seu dispositivo é muito fácil. Você só precisa seguir estes passos:
Baixe a última versão do do site oficial.
Renomeie o arquivo jar baixado para apktool.jar.
Mova ambos os arquivos (apktool.jar e apktool) para /usr/local/bin (raiz necessária).
Certifique-se de que ambos os arquivos sejam executáveis (chmod +x).
Tente executar o apktool via cli.
Ou você pode instalar o apktool via Homebrew:
Instale o Homebrew conforme descrito em .
Digite brew install apktool no terminal.
Aproveitar!
Como decodificar e recompilar aplicativos Android usando APKTool Zombie 2
Depois de instalar o APKTool Zombie 2 no seu dispositivo, você pode começar a decodificar e recompilar os aplicativos Android usando-o. Aqui estão alguns exemplos e dicas:
Para decodificar um aplicativo, use o comando apktool d app.apk. Isso criará uma pasta chamada app no mesmo diretório do arquivo apk.
Para recompilar um aplicativo, use o comando apktool b app. Isso criará um novo arquivo apk chamado app/dist/app.apk na pasta do aplicativo.
Para assinar um aplicativo, use o comando apktool sign app.apk. Isso criará um arquivo apk assinado chamado app.s.apk no mesmo diretório que o arquivo apk.
Para verificar um aplicativo, use o comando apktoolverify app.apk. Isso verificará se o arquivo apk é válido e assinado.
Para usar uma estrutura personalizada, use o comando apktool if framework-res.apk. Isso instalará a estrutura em /home/user/apktool/framework/1.apk.
Para usar um diretório de saída diferente, use a opção -o. Por exemplo, apktool d -o output app.apk.
Para usar um diretório temporário diferente, use a opção -t. Por exemplo, apktool d -t temp app.apk.
Para forçar a exclusão do diretório de destino, use a opção -f. Por exemplo, apktool d -f app.apk.
Para manter os recursos quebrados, use a opção -r. Por exemplo, apktool d -r app.apk.
Para manter o arquivo AndroidManifest.xml original, use a opção -p. Por exemplo, apktool d -p app.apk.
Como corrigir erros e problemas comuns com o APKTool Zombie 2
Às vezes, você pode encontrar alguns erros e problemas ao usar o APKTool Zombie 2. Aqui estão alguns erros comuns e como corrigi-los:
Erro/ProblemaConsertar
Exceção no thread "principal" brut.androlib.AndrolibException: não foi possível decodificar o arquivo arscTente usar uma versão diferente do APKTool Zombie 2 ou instale uma estrutura personalizada para o aplicativo.
Exceção no thread "principal" brut.androlib.AndrolibException: não foi possível decodificar o arquivo XMLTente usar a opção -p para manter o arquivo AndroidManifest.xml original ou edite-o manualmente.
Exceção no thread "principal" brut.androlib.AndrolibException: Não foi possível encontrar recursosCertifique-se de decodificar o aplicativo com o APKTool Zombie 2 antes de recompilá-lo ou use a opção -r para manter os recursos corrompidos.
Exceção no thread "principal" brut.androlib.AndrolibException: não foi possível encontrar o arquivo smaliCertifique-se de descompilar o aplicativo com o APKTool Zombie 2 antes de recompilá-lo ou use a opção -s para pular as fontes.
Exceção no thread "principal" brut.androlib.AndrolibException: não foi possível encontrar o arquivo 9patchCertifique-se de decodificar o aplicativo com o APKTool Zombie 2 antes de recompilá-lo ou use a opção -m para corresponder aos arquivos originais do CRC.
Exceção no thread "principal" brut.androlib.AndrolibException: não foi possível encontrar o certificadoCertifique-se de ter assinado o aplicativo com o APKTool Zombie 2 antes de verificá-lo ou use um armazenamento de chaves e alias diferentes.
Exceção no thread "principal" brut.androlib.AndrolibException: exceção desconhecidaTente usar uma versão diferente do APKTool Zombie 2 ou relate o bug no GitHub.
Como usar o APKTool Zombie 2 para modificar e fazer engenharia reversa de aplicativos Android
APKTool Zombie 2 não é apenas uma ferramenta para decodificar e recompilar aplicativos Android, mas também uma ferramenta poderosa para modificá-los e fazer engenharia reversa. Você pode usá-lo para extrair recursos e ativos de aplicativos Android, editar e modificar AndroidManifest.xml e outros arquivos XML, descompilar e converter código smali em código Java, injetar código personalizado e bibliotecas em aplicativos Android e testar e depurar seus aplicativos modificados. Nesta seção, mostraremos como fazer essas coisas usando o APKTool Zombie 2.
Como extrair recursos e ativos de aplicativos Android usando o APKTool Zombie 2
Uma das principais características do APKTool Zombie 2 é que ele pode decodificar recursos para uma forma quase original. Isso significa que você pode extrair imagens, sons, fontes e outros recursos de aplicativos Android usando-o. Aqui estão alguns exemplos e dicas:
Para extrair todos os recursos de um aplicativo, use o comando apktool d app.apk. Isso criará uma pasta chamada app no mesmo diretório do arquivo apk. Dentro desta pasta, você encontrará uma subpasta chamada res que contém todos os recursos do aplicativo.
Para extrair apenas recursos específicos de um aplicativo, use o comando apktool d -r app.apk. Isso criará uma pasta chamada app no mesmo diretório do arquivo apk. Dentro desta pasta, você encontrará uma subpasta chamada res que contém apenas os recursos que não são quebrados pelo APKTool Zombie 2.
Para extrair apenas tipos específicos de recursos de um aplicativo, use o comando apktool d -r app.apk -f type. Isso criará uma pasta chamada app no mesmo diretório do arquivo apk. Dentro desta pasta, você encontrará uma subpasta chamada res que contém apenas os recursos do tipo especificado. Por exemplo, apktool d -r app.apk -f drawable extrairá apenas recursos desenháveis.
Para extrair apenas arquivos específicos de um aplicativo, use o comando apktool d -r app.apk -f arquivo. Isso criará uma pasta chamada app no mesmo diretório do arquivo apk. Dentro desta pasta, você encontrará uma subpasta chamada res que contém apenas o arquivo especificado. Por exemplo, apktool d -r app.apk -f icon.png extrairá apenas icon.png.
Para extrair recursos de um aplicativo, use o comando apktool d app.apk. Isso criará uma pasta chamada app no mesmo diretório do arquivo apk. Dentro desta pasta, você encontrará uma subpasta chamada assets que contém todos os assets do app.
Como editar e modificar AndroidManifest.xml e outros arquivos XML usando o APKTool Zombie 2
Outro recurso do APKTool Zombie 2 é que ele pode decodificar AndroidManifest.xml e outros arquivos XML para um formato legível por humanos. Isso significa que você pode editá-los e modificá-los usando qualquer editor de texto. Aqui estão alguns exemplos e dicas:
Para editar AndroidManifest.xml, use o comando apktool d app.apk. Isso criará uma pasta chamada app no mesmo diretório do arquivo apk. Dentro desta pasta, você encontrará um arquivo chamado AndroidManifest.xml que pode ser aberto e editado com qualquer editor de texto.
Para editar outros arquivos XML, use o comando apktool d app.apk. Isso criará uma pasta chamada app no mesmo diretório do arquivo apk. Dentro desta pasta, você encontrará uma subpasta chamada res que contém todos os arquivos XML do aplicativo. Você pode abri-los e editá-los com qualquer editor de texto.
Para modificar permissões, atividades, serviços, receptores, provedores e outros componentes de um aplicativo, edite suas tags e atributos correspondentes em AndroidManifest.xml.Por exemplo, para adicionar uma nova permissão, adicione um tag com o atributo name definido como o nome da permissão.
Para modificar strings, cores, dimensões, estilos, temas e outros recursos de um aplicativo, edite seus valores correspondentes nos arquivos res/values/*.xml. Por exemplo, para alterar o nome do aplicativo, edite o valor de em res/values/strings.xml.
Para modificar layouts, menus, preferências, caixas de diálogo e outros elementos de interface do usuário de um aplicativo, edite seus arquivos XML correspondentes em arquivos res/layout/*.xml. Por exemplo, para alterar a cor de fundo de uma atividade, edite o atributo android:background de em res/layout/activity_main.xml.
Como descompilar e converter código smali em código Java usando o APKTool Zombie 2
Um dos recursos mais poderosos do APKTool Zombie 2 é que ele pode descompilar o código smali para o código Java usando as ferramentas baksmali e smali. Isso significa que você pode analisar e entender a lógica e a funcionalidade dos aplicativos Android que o utilizam. Aqui estão alguns exemplos e dicas:
Para descompilar o código smali para código Java, use o comando apktool d -s app.apk. Isso criará uma pasta chamada app no mesmo diretório do arquivo apk. Dentro desta pasta, você encontrará uma subpasta chamada smali que contém todos os arquivos smali do aplicativo.
Para converter o código smali em código Java, use o comando baksmali deodex -o outdir smalifile.smali. Isso criará uma pasta chamada outdir no mesmo diretório do arquivo smali. Dentro desta pasta, você encontrará um arquivo Java com o mesmo nome do arquivo smali.
Para converter código Java em código smali, use o comando smali assemble -o outdir javafile.java. Isso criará uma pasta chamada outdir no mesmo diretório do arquivo Java. Dentro desta pasta, você encontrará um pequeno arquivo com o mesmo nome do arquivo Java.
Para analisar e entender o código Java, use qualquer descompilador Java ou IDE que possa abrir e editar arquivos Java. Por exemplo, você pode usar .
Para analisar e entender o código smali, use qualquer editor de texto que possa abrir e editar arquivos smali. Por exemplo, você pode usar .
Como analisar e entender o código Java usando o APKTool Zombie 2
O código Java é a linguagem de programação mais comum e amplamente usada para aplicativos Android. É mais fácil de ler e escrever do que o código smali, mas ainda não é muito direto. Você precisa ter algum conhecimento básico de sintaxe e conceitos Java para poder analisar e entender o código Java. Aqui estão alguns exemplos e dicas:
Para identificar as classes, métodos, variáveis e outros elementos do código Java, procure suas declarações e definições no arquivo Java. Por exemplo, uma declaração de classe começa com a palavra-chave class seguida pelo nome da classe e, opcionalmente, estende ou implementa outras classes ou interfaces. Uma declaração de método começa com o modificador de acesso (público, privado, protegido, etc.), seguido pelo tipo de retorno, o nome do método e os parâmetros entre parênteses. Uma declaração de variável começa com o tipo, seguido pelo nome da variável e, opcionalmente, uma atribuição.
Para compreender a lógica e a funcionalidade do código Java, siga o fluxo de execução e procure estruturas de controle, loops, condições, expressões, instruções e operadores no arquivo Java. Por exemplo, uma instrução if começa com a palavra-chave if seguida por uma condição entre parênteses e um bloco de código entre chaves. Um loop for começa com a palavra-chave for seguida por uma inicialização, uma condição e uma atualização entre parênteses e um bloco de código entre chaves. Uma expressão é uma combinação de valores, variáveis, operadores e métodos que resultam em um único valor.
Para modificar o código Java, use qualquer editor de texto ou IDE que possa abrir e editar arquivos Java. Por exemplo, você pode usar . Certifique-se de seguir a sintaxe e as convenções do Java ao fazer alterações para evitar erros e bugs.
Como injetar código personalizado e bibliotecas em aplicativos Android usando o APKTool Zombie 2
Um dos recursos mais avançados do APKTool Zombie 2 é que ele pode injetar código e bibliotecas personalizados em aplicativos Android usando ganchos, patches, estruturas e outras técnicas. Isso significa que você pode adicionar novos recursos e funcionalidades aos aplicativos Android usando-o. Aqui estão alguns exemplos e dicas:
Para injetar código personalizado em um aplicativo, use o comando apktool d -s app.apk. Isso criará uma pasta chamada app no mesmo diretório do arquivo apk. Dentro desta pasta, você encontrará uma subpasta chamada smali que contém todos os arquivos smali do aplicativo.
Para injetar código personalizado em um método específico de uma classe, abra o arquivo smali correspondente com qualquer editor de texto e procure a declaração do método. Em seguida, insira seu código personalizado antes ou depois do código original usando a sintaxe e as instruções do smali. Por exemplo, para injetar uma mensagem toast no método onCreate da classe MainActivity, você pode inserir o seguinte código: const-string v0, "Hello from APKTool Zombie 2!" invoca-static p0, v0, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;)Landroid/widget/Toast; move-result-object v0 invocar-virtual v0, Landroid/widget/Toast;->show()V
Para injetar código personalizado em um ponto específico de execução de uma classe, use o comando apktool d -s app.apk. Isso criará uma pasta chamada app no mesmo diretório do arquivo apk. Dentro desta pasta, você encontrará uma subpasta chamada smali que contém todos os arquivos smali do aplicativo.
Para injetar código personalizado em um ponto específico de execução de uma classe, abra o arquivo smali correspondente com qualquer editor de texto e procure a instrução que marca o ponto de execução. Em seguida, insira seu código personalizado antes ou depois da instrução usando a sintaxe e as instruções do smali.Por exemplo, para injetar uma mensagem de log no ponto em que o aplicativo chama startActivity, você pode inserir o seguinte código: const-string v0, "APKTool Zombie 2" const-string v1, "startActivity chamado" invoke-static v0, v1, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
Para injetar bibliotecas personalizadas em um aplicativo, use o comando apktool d -s app.apk. Isso criará uma pasta chamada app no mesmo diretório do arquivo apk. Dentro desta pasta, você encontrará uma subpasta chamada lib que contém todas as bibliotecas nativas do aplicativo.
Para injetar bibliotecas personalizadas em um aplicativo, copie seus arquivos de biblioteca personalizados para a subpasta lib e renomeie-os de acordo com a arquitetura do dispositivo. Por exemplo, se sua biblioteca personalizada for nomeada libzombie.so e você quiser injetá-la em um dispositivo arm64-v8a, copie-a para lib/arm64-v8a e renomeie-a para libzombie.so.
Para carregar suas bibliotecas personalizadas em um aplicativo, edite AndroidManifest.xml e adicione um tag com o atributo name definido como o nome de sua biblioteca personalizada sem o prefixo lib e o sufixo .so. Por exemplo, para carregar libzombie.so, adicione .
Como testar e depurar seus aplicativos modificados usando o APKTool Zombie 2
Depois de injetar código personalizado e bibliotecas em aplicativos Android usando o APKTool Zombie 2, você precisa testá-los e depurá-los para garantir que funcionem conforme o esperado e não causem erros ou travamentos. Aqui estão alguns exemplos e dicas:
Para testar seus aplicativos modificados, use o comando apktool b app. Isso criará um novo arquivo apk chamado app/dist/app.apk na pasta do aplicativo. Em seguida, assine-o com APKTool Zombie 2 usando apktool sign app.apk. Isso criará um arquivo apk assinado chamado app.s.apk no mesmo diretório que o arquivo apk.
Para depurar seus aplicativos modificados, use qualquer ferramenta ou método que possa capturar e exibir mensagens de log de aplicativos Android. Por exemplo, você pode usar . Procure erros ou avisos que possam indicar problemas com seu código personalizado ou bibliotecas.
Para executar seus aplicativos modificados em um emulador ou dispositivo, use qualquer ferramenta ou método que possa instalar e iniciar aplicativos Android. Por exemplo, você pode usar . Certifique-se de ter habilitado fontes desconhecidas em seu emulador ou dispositivo antes de instalar seus aplicativos modificados.
Como se manter atualizado com a versão mais recente do APKTool Zombie 2
O APKTool Zombie 2 é uma ferramenta em constante evolução que é atualizada frequentemente com novos recursos e correções de bugs. Você deve sempre usar a versão mais recente do APKTool Zombie 2 para obter o melhor desempenho e compatibilidade com aplicativos Android. Nesta seção, mostraremos como baixar a versão mais recente do APKTool Zombie 2 do site oficial, como verificar atualizações e relatar bugs usando o APKTool Zombie 2 e como acompanhar o desenvolvimento e as novidades do APKTool Zombie 2 nas redes sociais.
Como baixar a versão mais recente do APKTool Zombie 2 do site oficial
O site oficial do APKTool Zombie 2 é . Aqui você encontra toda a informação e documentação sobre o APKTool Zombie 2, assim como o link direto e changelog da última versão. Para baixar a versão mais recente do APKTool Zombie 2 do site oficial, siga estas etapas:
Vá para e role para baixo até a seção Download.
Clique no botão Download e escolha a versão adequada ao seu dispositivo e sistema operacional.
Salve o arquivo jar baixado em seu dispositivo e renomeie-o para apktool.jar.
Siga as instruções de instalação na seção anterior para instalar o APKTool Zombie 2 no seu dispositivo.
Como verificar atualizações e relatar bugs usando o APKTool Zombie 2
A página oficial do GitHub do APKTool Zombie 2 é . Aqui você pode encontrar todo o código-fonte e lançamentos do APKTool Zombie 2, bem como o rastreador de problemas, onde você pode verificar atualizações e relatar bugs.Para verificar atualizações e relatar bugs usando o APKTool Zombie 2, siga estas etapas:
Vá para e clique na guia Lançamentos.
Compare a versão mais recente com sua versão atual do APKTool Zombie 2 e veja se há novos recursos ou correções de bugs.
Se houver uma versão mais recente disponível, baixe-a na seção Ativos e siga as instruções de instalação na seção anterior para atualizar o APKTool Zombie 2 em seu dispositivo.
Se você encontrar algum problema ou erro com o APKTool Zombie 2, clique na guia Problemas e procure os problemas existentes que possam estar relacionados ao seu problema.
Se você encontrar um problema existente que corresponda ao seu problema, leia os comentários e as soluções fornecidas por outros usuários ou desenvolvedores.
Se você não encontrar um problema existente que corresponda ao seu problema, crie um novo problema clicando no botão Novo problema e preenchendo o modelo com o máximo de detalhes possível.
Como acompanhar o desenvolvimento e as novidades do APKTool Zombie 2 nas redes sociais
As contas oficiais de mídia social do APKTool Zombie 2 são . Aqui você pode acompanhar o desenvolvimento e as novidades do APKTool Zombie 2, bem como interagir com outros usuários e desenvolvedores. Para acompanhar o desenvolvimento e as novidades do APKTool Zombie 2 nas redes sociais, siga os seguintes passos:
Acesse qualquer uma das contas de mídia social do APKTool Zombie 2 e clique no botão Seguir ou Inscrever-se.
Verifique seu feed ou notificações para novas postagens ou atualizações do APKTool Zombie 2.
Curta, comente, compartilhe ou retuite quaisquer postagens ou atualizações que lhe interessem ou forneça feedback ou sugestões.
Participe ou crie discussões ou tópicos com outros usuários ou desenvolvedores sobre o APKTool Zombie 2 ou tópicos relacionados.
Conclusão
Neste artigo, mostramos o que é o APKTool Zombie 2 e por que você deve usá-lo, como instalar e usar o APKTool Zombie 2 no seu dispositivo, como decodificar e recompilar aplicativos Android usando-o, como usá-lo para modificar e fazer engenharia reversa de aplicativos Android e como se manter atualizado com a versão mais recente. Esperamos que você tenha aprendido algo novo e útil com este artigo e que goste de usar o APKTool Zombie 2 para seus projetos Android. O APKTool Zombie 2 é uma ótima ferramenta para quem deseja explorar, modificar ou criar aplicativos Android. É fácil de usar, poderoso e versátil. Pode ajudá-lo a atingir seus objetivos e liberar sua criatividade. Se você tiver alguma dúvida ou comentário, entre em contato conosco ou deixe um comentário abaixo. Obrigado por ler e feliz hacking! perguntas frequentes
Aqui estão algumas perguntas frequentes e respostas sobre o APKTool Zombie 2:
Qual é a diferença entre APKTool e APKTool Zombie 2?
APKTool Zombie 2 é um fork do APKTool original com muitas melhorias e recursos. Algumas das principais diferenças são:
APKTool Zombie 2 suporta Android 12 e superior.
O APKTool Zombie 2 possui um assinante e um verificador integrados.
O APKTool Zombie 2 possui um melhor decodificador e codificador de recursos.
APKTool Zombie 2 tem um smali e baksmali mais rápido e estável.
APKTool Zombie 2 tem mais opções e sinalizadores para customização.
O APKTool Zombie 2 é seguro e legal de usar?
O APKTool Zombie 2 é seguro e legal de usar, desde que você siga algumas regras básicas:
Não use APKTool Zombie 2 para fins maliciosos ou ilegais.
Não use APKTool Zombie 2 para modificar ou distribuir aplicativos que você não possui ou tem permissão para modificar ou distribuir.
Não use APKTool Zombie 2 para violar os termos de serviço ou política de privacidade de qualquer aplicativo ou serviço.
Não use APKTool Zombie 2 para infringir os direitos de propriedade intelectual ou marcas registradas de qualquer aplicativo ou serviço.
Onde posso encontrar mais tutoriais e guias sobre como usar o APKTool Zombie 2?
Você pode encontrar mais tutoriais e guias sobre como usar o APKTool Zombie 2 no site oficial, página do GitHub, contas de mídia social e outras plataformas online. Aqui estão alguns links para você começar:
: A documentação oficial do APKTool Zombie 2.
: O wiki oficial do APKTool Zombie 2.
: O canal oficial do YouTube do APKTool Zombie 2.
: O subreddit oficial do APKTool Zombie 2.
Como posso entrar em contato com o desenvolvedor do APKTool Zombie 2?
Você pode entrar em contato com o desenvolvedor do APKTool Zombie 2 usando qualquer um dos seguintes métodos:
E-mail:
Twitter:
Facebook:
Github:
Como posso apoiar o desenvolvimento do APKTool Zombie 2?
Você pode apoiar o desenvolvimento do APKTool Zombie 2 usando qualquer um dos seguintes métodos:
Doe: você pode doar para o desenvolvedor do APKTool Zombie 2 via PayPal, Patreon, patrocinadores do GitHub ou outras plataformas. Aqui estão alguns links para fazê-lo:
: Doe via PayPal.
: Doe via Patreon.
: Doe por meio de patrocinadores do GitHub.
Contribua: Você pode contribuir para o desenvolvimento do APKTool Zombie 2 relatando bugs, sugerindo recursos, enviando pull requests, escrevendo documentação, criando tutoriais ou divulgando. Aqui estão alguns links para fazê-lo:
: relatar bugs ou sugerir recursos por meio de problemas do GitHub.
: envie solicitações pull por meio de solicitações pull do GitHub.
: Escreva a documentação através da documentação oficial.
: Crie tutoriais através do canal oficial do YouTube.
: Espalhe a palavra via Twitter.
0517a86e26
Comments