Não existe uma ferramenta melhor para analisar um APK, porque as disponíveis no mercado respondem perguntas diferentes. Um scanner multimotor diz se um arquivo já é conhecido. Um serviço de análise estática explica do que um aplicativo é capaz. Um sandbox mostra o que ele fez durante uma execução. Um descompilador mostra o código. Escolher bem começa por saber de qual dessas perguntas depende a decisão que o analista tem pela frente.
Este comparativo cobre as ferramentas mais usadas em aplicativos Android, agrupadas pela pergunta que respondem: VirusTotal, Droidwatch, MobSF, ANY.RUN e o conjunto manual formado por jadx, apktool e Frida. Para cada uma, descreve o que faz, para onde vai a amostra e em que situação se encaixa. O Droidwatch, que publica este comparativo, é uma das ferramentas incluídas.
Cinco perguntas, cinco tipos de ferramenta
| Pergunta | Tipo de ferramenta | Exemplos |
|---|---|---|
| Alguém já viu este arquivo antes? | Serviço de reputação multimotor | VirusTotal |
| O que este aplicativo pode fazer e por que isso importa? | Análise estática, hospedada ou em servidores próprios | Droidwatch, MobSF |
| As análises estática e dinâmica podem rodar em infraestrutura própria? | Framework de código aberto em infraestrutura própria | MobSF |
| O que o aplicativo faz quando é executado? | Sandbox interativo | ANY.RUN |
| O que exatamente este código faz? | Descompiladores e instrumentação | jadx, apktool, Frida |
Essas ferramentas costumam ser combinadas. A ordem importa: uma busca por hash custa segundos, enquanto uma execução em sandbox ou uma revisão manual custam tempo de analista.
Reputação multimotor: VirusTotal
O VirusTotal inspeciona o que recebe com mais de 70 antivírus e serviços de listas de bloqueio de URLs e domínios; para um arquivo, mostra como cada antivírus o classificou. Em um APK, o resultado útil chega rápido: se o hash já foi visto e vários motores concordam no nome de uma família, o analista tem uma pista em segundos.
Duas propriedades determinam como usá-lo.
Sua resposta central é «conhecido ou desconhecido». Um resultado limpo em uma amostra recém-compilada significa que nenhum motor a reconhece ainda, não que ela seja benigna. Os sandboxes de Android do VirusTotal acrescentam relatórios de comportamento para algumas amostras, mas o veredicto multimotor continua sendo um conjunto de rótulos, e os de motores diferentes muitas vezes não batem.
Os envios são compartilhados. A própria documentação do VirusTotal informa que os relatórios de análise são compartilhados com a comunidade pública e que o conteúdo dos arquivos enviados pode ser compartilhado com clientes premium. Para malware público, esse é justamente o propósito do serviço. Para uma build não publicada do app de um banco, ou para um APK que um cliente enviou ao time de fraude, é motivo para buscar pelo hash em vez de enviar o arquivo.
Indicado para: a primeira consulta sobre qualquer amostra suspeita, pelo hash.
Análise estática hospedada: Droidwatch
O Droidwatch recebe um arquivo APK, AAB, XAPK, DEX ou IPA e devolve um relatório sem executar a amostra. Um único envio dispara uma cadeia de 28 etapas que produz mais de 25 análises independentes: manifesto e permissões, certificado de assinatura comparado com o do Google Play, bytecode DEX e ofuscação, bibliotecas nativas e packers, detecção de família com YARA, 87 SDKs de terceiros identificados por assinatura com consulta ao vivo ao OSV.dev (o OSV cobre 12 desses 87) e extração de indicadores de comando e controle, incluindo a configuração criptografada quando a amostra permite.
O resultado é um relatório com pontuação, não uma lista de detecções. O risco é pontuado de 0 a 100, em que mais alto é pior: 65 ou mais é Malicious, 40-64 High Risk, 20-39 Suspicious e abaixo de 20 Benign. Cada achado traz seu raciocínio, os achados são mapeados para técnicas do MITRE ATT&CK Mobile e categorias do OWASP MASVS, e o relatório é exportado em STIX 2.1, PDF, DOCX, JSON e CSV. O resumo em prosa é gerado por um motor de regras, então não pode descrever uma fase de ataque que os achados não sustentem. Um APK de 50 MB leva de dois a cinco minutos.
Os envios são privados por padrão. Sem conta, há três análises por dia de até 150 MB; uma conta gratuita permite cinco por dia de até 200 MB.
Limites. A análise estática estabelece capacidade, não comportamento: não enxerga o código baixado ou descriptografado em execução, e o tempo cresce com o tamanho, até uma média de oito a dez minutos acima de 100 MB. A análise dinâmica existe apenas para Android, a partir do plano Pro, e roda no dispositivo ou emulador do próprio cliente por meio do agente do Droidwatch; não há sandbox hospedado. A análise de iOS é apenas estática, em sete módulos. O Droidwatch não é um descompilador: ele relata sobre o código, não substitui a leitura do código.
Indicado para: triagem que precisa terminar em uma decisão defensável, revisão da cadeia de suprimentos das builds próprias e controle de releases em CI/CD. A estrutura completa do relatório está em Analisar um APK online: o que o relatório mostra.
Framework de código aberto em infraestrutura própria: MobSF
O Mobile Security Framework é um projeto de código aberto, com licença GPL-3.0, para testes automatizados de aplicativos Android, iOS e Windows. Faz análise estática de pacotes APK, IPA e APPX e de código-fonte, e análise dinâmica em Android e iOS com testes instrumentados e captura do tráfego de rede. É distribuído como imagem Docker e oferece APIs REST e ferramentas de linha de comando para integração em pipelines.
Sua principal vantagem é o controle: tudo roda em infraestrutura operada pela própria equipe, o que é decisivo para organizações que não podem enviar binários a nenhum terceiro. O custo é operacional. Alguém precisa manter o contêiner, atualizar dependências e regras, escalar os workers quando o volume cresce e preparar os emuladores ou dispositivos que a análise dinâmica exige.
Indicado para: equipes com requisitos rígidos de residência de dados e tempo de engenharia para operar a stack. O comparativo detalhado com o Droidwatch está na página alternativa ao MobSF.
Sandbox interativo: ANY.RUN
O ANY.RUN adicionou Android ao seu sandbox interativo em março de 2025. O ambiente é baseado em ARM, e o analista pode interagir com a sessão enquanto ela acontece. A análise de Android está disponível no plano gratuito e nos planos pagos.
Um sandbox responde uma pergunta que a análise estática não consegue responder: o que o aplicativo realmente fez durante aquela sessão, incluindo o tráfego de rede que gerou e as telas que exibiu. Seus limites são os habituais da análise dinâmica. Uma amostra que detecta o emulador, espera um gatilho ou depende de um servidor de comando e controle que já não responde pode não fazer nada visível. Como em qualquer serviço de terceiros, antes de enviar uma amostra confidencial vale conferir a visibilidade dos envios no plano utilizado.
Indicado para: confirmar o comportamento de uma amostra que a análise estática já sinalizou, principalmente quando os alvos ou as injeções são entregues pelo servidor. Os prós e contras de cada abordagem estão em análise estática vs dinâmica de malware Android.
Descompiladores e instrumentação: jadx, apktool e Frida
O conjunto manual é gratuito, local e a opção mais precisa que existe, ao custo de tempo de analista.
- jadx descompila o bytecode DEX para Java legível, com uma interface gráfica para navegar pelas classes. É a forma mais rápida de ler o que um método faz.
- apktool decodifica os recursos e o manifesto, desmonta o bytecode para smali e pode reconstruir o pacote. É a ferramenta para inspecionar recursos, layouts e assets, ou para modificar um aplicativo em laboratório.
- Frida injeta scripts em um processo em execução para interceptar métodos, inspecionar argumentos e contornar verificações como certificate pinning ou detecção de root. A análise dinâmica do Droidwatch é construída sobre o Frida; o guia de configuração do dispositivo explica a conexão.
Essas ferramentas respondem a pergunta que as demais deixam em aberto: o que exatamente um trecho específico de código faz. Elas não produzem veredicto, pontuação nem um relatório que um comitê de revisão consiga ler.
Indicado para: engenharia reversa de uma família desconhecida, confirmação de um achado antes de levá-lo a um registro de incidente e pesquisa.
Comparativo lado a lado
| VirusTotal | Droidwatch | MobSF | ANY.RUN | jadx / apktool / Frida | |
|---|---|---|---|---|---|
| Pergunta principal | É conhecido? | O que pode fazer? | O mesmo, em servidores próprios | O que fez? | O que este código faz? |
| Onde roda | Hospedado | Hospedado | Infraestrutura da equipe | Hospedado | Máquina do analista |
| Executa a amostra | Depende dos sandboxes envolvidos | Não (dinâmica: só Android, a partir do Pro, no dispositivo ou emulador do cliente) | Sim, no modo dinâmico | Sim | Só o Frida |
| Resultado típico | Detecções por motor | Relatório com pontuação, mapeamento ATT&CK e MASVS, cinco formatos de exportação | Relatório estático e dinâmico | Registro da sessão, tráfego de rede | Código e hooks |
| Envios | Compartilhados com a comunidade e clientes premium | Privados por padrão | Não saem da equipe | Verificar os termos do plano | Não saem da máquina |
| Esforço de operação | Nenhum | Nenhum no estático; dispositivo próprio e agente no dinâmico | Alto | Nenhum | Tempo de analista |
O que usar em cada situação
Um analista de SOC com um APK suspeito vindo de um chamado. Primeiro, busca do hash no VirusTotal. Se a amostra for desconhecida ou os rótulos não baterem, um relatório estático para chegar a uma classificação com motivos, e um sandbox apenas se a decisão depender do comportamento. A sequência está descrita em como fazer a triagem de um APK suspeito.
A equipe de segurança de aplicações de um banco. As builds próprias nunca deveriam ir para um serviço que compartilha os envios. A análise estática no pipeline de release detecta achados de cadeia de suprimentos e de configuração antes da publicação; escanear APKs em CI/CD explica a configuração. O MobSF é a alternativa quando nenhum binário pode sair da organização.
Um time de fraude que recebe APKs de clientes. As amostras podem conter dados pessoais, o que descarta serviços que compartilham os envios. Um relatório estático privado traz os indicadores para bloquear e a explicação para o negócio; a análise dinâmica no dispositivo próprio confirma o comportamento quando necessário. É o caso típico dos trojans bancários distribuídos por links em SMS e WhatsApp.
Um engenheiro reverso diante de uma família nova. jadx e apktool para o código, Frida para o comportamento em execução e um sandbox para o quadro de rede. Um relatório estático serve como mapa antes de começar, não como substituto do trabalho.
Perguntas frequentes
Qual é a melhor ferramenta para analisar um APK? Depende da pergunta. O VirusTotal diz se um arquivo já é conhecido; um serviço de análise estática como o Droidwatch explica o que ele pode fazer; um sandbox como o ANY.RUN mostra o que ele fez em uma execução; jadx, apktool e Frida mostram o código. Uma consulta de reputação seguida de um relatório estático é uma combinação comum para começar.
É seguro enviar um APK ao VirusTotal? Para malware público, sim. O VirusTotal informa que os relatórios são compartilhados com a comunidade e que o conteúdo dos arquivos pode ser compartilhado com clientes premium, então builds não publicadas ou arquivos enviados por clientes devem ser consultados pelo hash.
O MobSF é gratuito? O MobSF é código aberto com licença GPL-3.0. Usá-lo não tem custo de licença; o custo está em operá-lo: hospedagem, atualizações e emuladores para a análise dinâmica.
Dá para analisar um APK online sem executá-lo? Sim. A análise estática examina o pacote, o código e o certificado sem executar nada. O Droidwatch funciona assim e oferece três análises por dia sem conta.
O Droidwatch substitui um sandbox? Não. A análise estática estabelece capacidade; um sandbox registra comportamento. A análise dinâmica do Droidwatch é apenas para Android, a partir do plano Pro, e roda no dispositivo ou emulador do próprio cliente; não há sandbox hospedado.
Analise um APK ou compare Droidwatch e VirusTotal.