Logo pt.androidermagazine.com
Logo pt.androidermagazine.com

Protegendo seus aplicativos da maneira certa - as instruções do Google

Índice:

Anonim

Segurança, pirataria e prevenção de aplicativos são tópicos importantes recentemente, por um bom motivo. Sem um mercado de aplicativos robusto, centenas de milhares de novas ativações a cada mês não serão mantidas, e um mercado robusto não será possível sem o apoio dos desenvolvedores. Vimos que o Android tem uma solução integrada para evitar a pirataria, e também vimos como é fácil contorná-lo se você estiver determinado e se o esquema for deixado em sua forma básica. O Google deu a entender que eles tinham mais algumas informações para compartilhar sobre todo o assunto e, fiel à palavra deles, eles o fizeram. Após o intervalo, vamos dar uma olhada nos métodos de um Googler para fornecer uma maneira segura e segura de proteger os aplicativos.

O Serviço de Licenciamento do Android Market e a Biblioteca de Verificação de Licenças são ferramentas poderosas para que os desenvolvedores tentem contornar a pirataria de aplicativos. O problema, como foi demonstrado recentemente, é que, fora da caixa, não é muito difícil contornar. Como as pessoas são pessoas e muitos gastam mais tempo do que vale a pena quebrar um aplicativo de 99 centavos do Market, Trevor Johns (um dos engenheiros de programadores de desenvolvimento do Android) apresentou um conjunto prático de dicas para fortalecer as ferramentas fornecidas, e fazer com que as medidas antipirataria funcionem melhor.

As quatro áreas principais são:

Ofuscação do código

Ocultação de código é um truque usado pelos desenvolvedores que altera o código-fonte, dificultando o rastreamento de funções, pacotes, classes e variáveis ​​conhecidas, fornecendo um alias para cada um. Veja esta função imaginária, por exemplo - onRedraw (). Cada lugar em que você usa a função no código fonte, está ali, fácil de ler e possivelmente explorar. Um ofuscador de código substituirá a função legível por um alias gerado - wy23 () é um bom exemplo. Um rápido olhar (ou uma ferramenta automatizada) à procura de funções não funcionará, pois é preciso uma séria escavação para ver exatamente o que wy23 () realmente significa. Existem códigos Java comerciais obfyousk8tors (ha!) Disponíveis, e Trevor recomenda o ProGuard e planeja um artigo futuro no Blog de desenvolvedores do Android sobre como trabalhar com o ProGuard.

Modificando a biblioteca de licenças

O Google recomenda que os desenvolvedores alterem a origem das bibliotecas de licenças fornecidas o máximo possível, mantendo a função original. Este é um caso em que o caminho percorrido não é importante, desde que o destino seja alcançado. Os desenvolvedores podem enterrar a função em instruções if / then, loops e até mover toda a biblioteca em seu próprio bloco de código.

Para dar um passo adiante, os desenvolvedores são incentivados a usar verificações de hash e outros métodos de criptografia para gerar novas constantes e alterar o código para procurar as novas constantes em vez de usar as fornecidas pelo Google no código de exemplo. Certifique-se de clicar no link de origem para ver um ótimo exemplo direto do Google, mostrando como isso pode ser feito. E não se esqueça de ofuscar o código aqui também!

Torne seu aplicativo resistente a violações

Este é simples. Para que um ladrão de hackers remova o licenciamento do seu aplicativo, ele ou ela deve fazer engenharia reversa e reconstruir o aplicativo. Use as verificações CRC para evitar isso. O Google também tem outra ferramenta útil para essa área - verifique se o Android Market era a fonte de instalação do seu aplicativo e, se não, não deixe que ele seja executado. Novamente, há um exemplo bacana disso no link de origem.

Mova a verificação da licença para um servidor remoto

Se seu aplicativo usa componentes on-line, o Google recomenda que você mova as informações e respostas de LVL para fora do aplicativo e para o servidor. Quando o usuário usa o aplicativo, seu servidor verifica com o Google e, se tudo não estiver correto, nenhum conteúdo será veiculado. Embora simples, também é muito eficaz para contornar isso, alguém precisaria alterar não apenas o aplicativo, mas também o conteúdo do servidor. Lembre-se de que os dados locais nunca são seguros, mas um servidor adequadamente mantido e protegido é uma tarefa difícil.

Por fim, o Google se lembra de nós, os usuários finais, e recomenda que esses truques sejam usados ​​de maneira transparente e amigável. Se você é um desenvolvedor de aplicativos interessado na prevenção de integridade e pirataria do seu aplicativo (e deve ser!), Verifique o link da fonte. Fica todo nerd e confuso e mostra tudo para você. Para o resto de nós, isso é mais um lembrete sobre como o Goggle ama seus desenvolvedores, e podemos nos sentir bem sabendo que o grande G está fazendo o possível para ajudar.