O sistema de licenciamento que a Google implementou para proteger os aplicativos encontrados no seu Android Market foi hackeado, apenas um mês após seu lançamento. O “Licensing Service for Android” (Serviço de Licenciamento para o Android) da Google, destinado a proteger contra a utilização não autorizada de aplicativos pagos do Android, foi lançado no final do mês de Julho para todas as versões do sistema operacional móvel Android da Google 1.5 ou superior. Basicamente, o sistema funciona como uma espécie de mecanismo de proteção DRM para aplicativos Android, garantindo que os aplicativos no telefone de um usuário tenham sido adquiridos da forma devida, ou seja, pagos.

Em um tutorial detalhado no Android Police, o sistema de licenciamento da Google foi hackeado com um processo muito fácil.

Como isso foi Hackeado?

Não nos surpreende ver que um sistema de proteção foi hackeado em três dias. Praticamente não existe nenhum código inquebrável, basta dar alguns energéticos para um hacker dedicado que isso se prova verdade. O que é um pouco curioso sobre este crack em particular foi a maneira tranqüila de como ele foi realizado.

De acordo com Justin, a maioria dos aplicativos Android são escritos em código Java. Devido as necessidades de compatibilidade da plataforma Java, já existem algumas suítes de software que podem decompilar e desmontar o código Java, fazendo dele um alvo fácil para engenharia reversa.

Depois de decompilar o código, quebrar o sistema de licenciamento é muito simples, basta achar o arquivo que faz referência ao serviço de licenciamento da Google e alterá-lo para incluir um conjunto diferente de instruções. Um hacker só precisa mudar alguns bytes de código que detalham como um aplicativo deve se comportar após uma verificação da sua licença.

Normalmente, um aplicativo que utiliza o mecanismo de proteção da Google se comunicaria com um servidor do Marketplace da Google para confirmar se ele é ou não devidamente licenciado. Se não for licenciado, o aplicativo será avisado para não ser executado. Este hack simplesmente muda o conjunto de instruções que significa “não funcione” para um que significa “certo, vá em frente e funcione.” Isso é uma explicação básica, claro. Aqueles que possuem conhecimento em desenvolvimento podem ler os passos de execução de modo mais detalhado aqui.

Além do hack ser bastante fácil de ser realizado, ele também pode ser automatizado pela utilização de scripts. Isso significa que a maioria dos aplicativos do Android pode ser retirada de sua proteção de licenciamento e disponível fora do mercado oficial, nas distribuições pirateadas, pelo menos é o que Justin afirma.

Isso é Muito Ruim para o Android?

Embora isso não seja necessariamente um calcanhar de Aquiles para o ecossistema do Android, é pelo menos, um motivo de preocupação. Ao contrário do ambiente cuidadosamente controlado da App Store da Apple, o sistema operacional do Android da Google é mais aberto por padrão, deixando que os usuários instalem aplicativos de fora do marketplace logo após mudar uma única configuração em seus telefones. Enquanto isso, os usuários do iPhone tem que esperar durante semanas após cada atualização de software da Apple, para que uma equipe dedicada de hackers liberem o novo “jailbreak” – uma ferramenta que elimina as restrições do dispositivo que impede a instalações de aplicativos de terceiros não-aprovados.

O fato de a Google ter aberto seu sistema operacional é, por um lado, um benefício para seus desenvolvedores e usuários, para os desenvolvedores porque não é necessário cumprir com os acordos complexos e mutáveis para desenvolvedores  somente para lançar um app na loja oficial de aplicativos, para os usuários, porque eles têm a liberdade para instalar todos os aplicativos que escolherem sem ter que hackear o dispositivo.

No entanto, esta abertura do Android combinada com seu sistema de proteção fácil de ser hackeado, significa que agora é também incrivelmente fácil distribuir aplicativos pagos também para aqueles que não querem pagar por eles.

Isso não vai deixar a comunidade de desenvolvedores feliz – principalmente com a notícia anterior de que os usuários do iPhone estão mais dispostos a pagar por aplicativos e que, 57% dos aplicativos do Android são gratuitos, sendo que do iPhone apenas 28% são.

É importante lembrar que nem todos os aplicativos do Android utilizam o Serviço de Licenciamento da Google, mas o sistema é uma escolha popular porque é fácil de ser implementado e ele associa os aplicativos a uma conta do Google, deixando que os usuários continuem com os aplicativos quando eles atualizarem seus dispositivos.

Mas o evangelista e desenvolvedor do Android, Tim Bray, publicou um post lembrando que sua tecnologia de licenciamento é nova, mas representa um “avanço significativo em termos de proteção sobre a experiência de proteção que costumava ser a norma.” Ele também diz que a empresa vai melhorar o sistema de licenciamento com o tempo. Mas ele não mencionou o que a Google fará para impedir este hack em particular.