Pular para o conteúdo
Fale conosco

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ível
  • Arquivo 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ível
  • Pacote 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 C

O CLI ainda não foi publicado no npm. Até lá, use o Scan gratuito no navegador.

Quickstart completo de Android

O que está coberto

ItemHoje
Formatos de pacote (Scan)APK e AAB
Ferramenta de build (quickstart)Gradle, com Kotlin ou Java
Política e registro no CIQualquer CI que rode Node 20 ou mais novo
Pacote protegidoPré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.