Android
Como proteger seu app Android contra engenharia reversa
Um APK ou AAB é um arquivo que qualquer pessoa baixa, abre e lê. Aumente o custo de atacar o seu e enxergue as tentativas em produção.
Motor de proteçãoPrévia
O motor de proteção está em prévia: os builds são registrados e analisados, mas nenhum pacote protegido é produzido ainda. Esta página diz exatamente o que funciona hoje.
O que atacantes fazem com um app Android
A visão defensiva: estas são as técnicas que uma proteção precisa tornar mais caras.
01
Reempacotamento
Alguém desempacota o seu pacote, altera (tira uma verificação, injeta um anúncio ou um trojan), reassina e distribui fora da loja.
02
Instrumentação e hooking
Em um aparelho com root, ferramentas como Frida e Xposed mudam o comportamento do app enquanto ele roda, por exemplo para pular a confirmação de um pagamento.
03
Segredos lidos do pacote
Chaves de API, tokens e endpoints esquecidos em strings, recursos ou configurações são legíveis no arquivo, sem nenhuma ferramenta além de um unzip.
04
Overlays e abuso de acessibilidade
Uma segunda janela desenhada sobre a tela de pagamento, ou um serviço de acessibilidade que lê e controla a tela, é o padrão por trás de muitos trojans bancários.
Como a Moatgator trata isso
Você descreve a resposta em um arquivo de política e o pipeline faz o resto. Sem SDK para integrar.
Política como código
Um moatgator.yml no seu repositório diz como cada detecção responde: monitor, warn, block ou terminate. Ele passa por revisão como qualquer outro arquivo.
Detecções em runtime
Root, emulador, debugger, hooking e adulteração, mais sobreposição, acessibilidade, captura de tela e acesso remoto em telas de pagamento.
Monitorar primeiro
Toda detecção começa em modo monitorar. Nada bloqueia um usuário até você escolher, e um recurso novo nunca bloqueia sozinho.
As chaves ficam com você
A assinatura acontece no seu pipeline. A Moatgator nunca guarda o seu keystore.
O que funciona hoje
Preferimos que você saiba antes de planejar em cima.
Scan gratuito
Envie um APK ou AAB e receba uma nota para as lacunas de proteção, mapeadas ao OWASP MASVS. Ele lê o pacote de forma estática e o apaga quando a análise termina.
DisponívelArquivo de política e registro no CI
O moatgator.yml com validação, o CLI, a GitHub Action e o GitHub App registram e analisam cada build de release. Estão construídos e testados; os pacotes ainda não foram publicados.
DisponívelPacote protegido
O motor de proteção está em prévia. Os builds são registrados e analisados, e nenhum pacote protegido é produzido ainda.
Prévia
Experimente em três comandos
O Scan não precisa de conta. Este é o fluxo real da documentação.
$ npx moatgator init --package com.acme.pay$ ./gradlew bundleRelease$ npx moatgator scan app/build/outputs/bundle/release/app-release.aab --min-grade CO CLI ainda não foi publicado no npm. Até lá, use o Scan gratuito no navegador.
Quickstart completo de AndroidO que está coberto
| Item | Hoje |
|---|---|
| Formatos de pacote (Scan) | APK e AAB |
| Ferramenta de build (quickstart) | Gradle, com Kotlin ou Java |
| Política e registro no CI | Qualquer CI que rode Node 20 ou mais novo |
| Pacote protegido | Prévia: ainda não é produzido |
Perguntas
Dá para impedir completamente a engenharia reversa?
Não. Um atacante determinado, com um aparelho que ele controla, consegue analisar qualquer app. A proteção aumenta o custo e torna as tentativas visíveis; ela não torna um app inquebrável, e dizemos isso na página de limites.
R8 ou ProGuard já bastam?
Eles encolhem e renomeiam o código, o que ajuda e é de graça. Não detectam um aparelho com root, um debugger anexado, um framework de hooking nem um app reempacotado. Use junto com as detecções em runtime.
Isso muda o tamanho ou o tempo de inicialização do app?
Pode mudar. Quando existir um build protegido, o check do pull request informa a diferença medida em vez de chutar.
Vocês precisam da minha chave de assinatura?
Nunca. O artefato volta sem assinatura e o seu pipeline o assina com zipalign e apksigner.
Pronto para proteger seu app?
Comece grátis ou conte o que você precisa.