Análise estática de APKs
Descompilação
Análise estática de APKs é uma aula grátis de Ethical Hacking Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Ethical Hacking Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Ethical Hacking Academy inclui 4 aulas no total.
Análise estática de APK
A análise estática de um APK consiste em inspecionar seu código e seus recursos sem executá-lo. O objetivo é recuperar um código semelhante ao código-fonte e legível a partir do DEX compilado.
Isso revela segredos codificados diretamente no código, falhas lógicas e o comportamento real do aplicativo.
Decodificação com apktool
O apktool decodifica um APK, recuperando recursos legíveis e smali (uma forma legível por humanos do código de bytes DEX). Ele também decodifica o AndroidManifest.xml binário.
Use-o para ler o manifesto e reempacotar aplicativos modificados.
apktool d app.apk -o app_srcCódigo Smali
Smali é a linguagem semelhante a assembly usada para o código de bytes Dalvik. Ela é detalhada, mas permite fazer edições precisas, como contornar uma verificação alterando uma comparação.
Você pode corrigir o smali e reconstruir o APK para alterar o comportamento do aplicativo.
const/4 v0, 0x1 # force a boolean to trueObtendo Java com jadx
O jadx descompila o DEX diretamente para Java legível. A versão com interface gráfica, jadx-gui, permite navegar pelas classes, pesquisar cadeias de texto e acompanhar chamadas de métodos.
É a maneira mais rápida de compreender a lógica de um aplicativo.
jadx-gui app.apkO caminho do dex2jar
Um fluxo alternativo converte DEX em um JAR com o dex2jar e depois o abre em um descompilador Java, como o JD-GUI.
O jadx geralmente produz uma saída mais limpa, mas o dex2jar é útil quando o jadx encontra dificuldades.
d2j-dex2jar app.apk -o app.jarProcurando segredos
O código descompilado frequentemente contém segredos codificados diretamente: chaves de API, tokens, chaves de criptografia e URLs de back-end.
Pesquise no código-fonte palavras-chave como password, secret, apikey e http. Os desenvolvedores supõem, de forma equivocada, que o código compilado oculta esses elementos.
grep -ri "api_key\|secret\|password" app_src/Revisando o manifesto
Com o manifesto decodificado, verifique:
- Componentes exportados.
android:debuggable="true".android:allowBackup="true"(os dados podem ser extraídos por meio de backup).- Permissões perigosas ou personalizadas.
Configuração de segurança da rede
A configuração de segurança da rede controla o comportamento do TLS. Uma configuração que permite tráfego sem criptografia ou confia em CAs adicionadas pelo usuário enfraquece a segurança do transporte.
Essas configurações facilitam muito a interceptação (um tópico posterior).
<application android:usesCleartextTraffic="true">Análise automatizada com MobSF
O MobSF (Mobile Security Framework) automatiza a análise estática. Carregue um APK, e ele informará as permissões, os segredos codificados diretamente, as configurações inseguras e uma pontuação de risco.
Ele é excelente para a triagem, embora a revisão manual ainda encontre problemas mais profundos.
Reempacotamento e assinatura novamente
Depois de corrigir o smali, recompile com o apktool e assine novamente o APK (o Android recusa aplicativos sem assinatura). Ferramentas como apksigner ou uber-apk-signer cuidam da assinatura.
Esse fluxo sustenta testes de adulteração e modificações em tempo de execução.
apktool b app_src -o patched.apk
uber-apk-signer -a patched.apkLinks profundos e WebViews
Procure filtros de intenção de links profundos e o uso de WebView. Links profundos configurados incorretamente podem abrir telas internas com dados controlados pelo invasor.
WebViews com JavaScriptInterface ou que carregam conteúdo não confiável podem expor o aplicativo a injeção e roubo de dados. Ambos são achados comuns em análises estáticas.
Verificação rápida
Recapitule qual ferramenta fornece Java legível diretamente de um APK.
Recapitulação
Agora você entende a análise estática de APKs:
- Use apktool para smali e o manifesto decodificado; jadx para Java legível.
- Procure segredos embutidos no código e revise no manifesto os sinalizadores de exportação, depuração e backup.
- Verifique a Configuração de Segurança de Rede; use o MobSF para uma triagem automatizada.
- Corrija o smali e depois recompile e assine novamente para testar adulterações.
A seguir, você manipulará um aplicativo em execução com o Frida.
Perguntas Frequentes
A aula “Análise estática de APKs” é grátis?
Sim — o texto completo de “Análise estática de APKs” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Ethical Hacking Academy, atualize para CoddyKit PRO. O curso de Ethical Hacking Academy inclui 4 aulas no total.
O que vou aprender em “Análise estática de APKs”?
Descompilação Você pratica Ethical Hacking Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Ethical Hacking Academy?
Nenhuma experiência prévia é necessária. Ethical Hacking Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.
Quanto tempo leva a aula “Análise estática de APKs”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Ethical Hacking Academy?
Sim. Cada aula de Ethical Hacking Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Estrutura de aplicações Android
- Análise estática de APKs
- Análise dinâmica com Frida
- Armazenamento e comunicações inseguras