0Pricing
Ethical Hacking Academy · Aula

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_src

Có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 true

Obtendo 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.apk

O 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.jar

Procurando 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.apk

Links 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

  1. Estrutura de aplicações Android
  2. Análise estática de APKs
  3. Análise dinâmica com Frida
  4. Armazenamento e comunicações inseguras
← Voltar para Ethical Hacking Academy