RSAC: Reverse-Engineering an Android App in Five Minutes

Uma das táticas mais comuns para espalhar malware – ou mesmo apenas aplicativos ruins – no Android está reembalando aplicativos. Durante a sua apresentação na RSA Conference, Pau Oliva Fora da viaForensics demonstrou que leva apenas alguns minutos para reverter aplicações para Android.

>

Getting Your App
O primeiro passo para reverter-engenharia de uma aplicação, disse Fora, foi conseguir uma aplicação. Embora pareçam manhosos no seu telefone, as aplicações Android (ou APKs) são realmente apenas ficheiros ZIP com uma nova extensão. Dentro está tudo o que o aplicativo precisa para rodar – do código para qualquer mídia que possa precisar.

Há uma série de maneiras de obter um APK. Se você tem um aplicativo que você gostaria de fazer engenharia reversa no seu Android, você pode usar um gerenciador de arquivos como o ASTRO para salvar um backup em um cartão SD. Também é possível ligar o teu Android a um computador e depois utilizar o Android Debugging Bridge para transferir a aplicação para o teu PC. Você também pode usar ferramentas online para sugar APKs do Google Play.

Pull It Apart
Após teres um APK para trabalhar, terás de o converter em algo mais utilizável. Para isso, o Fora apresentou duas opções. Você poderia desmontar seu alvo com uma ferramenta como Apktool, que converterá o arquivo de código compilado do APK (Dalvik Executable, ou DEX) em uma linguagem assembly como Smali. Ou você pode decompilar, que converte o DEX em um Java Archive (JAR), e então para Java.

Fora notou que como alguns dados podem ser perdidos no processo de descompilação, é melhor usar um descompilador que foi feito com o Android em mente. Isto salta o passo JAR, convertendo DEX diretamente para Java.

Para pessoas desinteressadas em rastrear todas essas ferramentas por conta própria, Fora sugeriu Santoku. Esta é uma distribuição especial de Linux de viaForensics que vem pré-carregada com todas as ferramentas que você precisa para separar, modificar e reempacotar um aplicativo Android. É uma poderosa ferramenta forense digital sobre a qual já escrevemos no passado.

Rapid Reverse
Se você adormeceu durante os últimos parágrafos, é aqui que você acorda. Usando Santoku, Fora pegou um aplicativo Android muito básico que ele tinha criado e o desmontou. Ele então navegou o código para uma linha em particular, modificou o código, reembalou-o, assinou-o, reinstalou o aplicativo modificado no seu Android, e o lançou. Todo o processo levou menos de cinco minutos.

Agora, o Fora’s foi um exemplo muito simples. O aplicativo era muito básico, e não incluía código ofuscado. No entanto, a sua demonstração teve implicações poderosas. “Você pode fazer isso para mudar o comportamento de qualquer aplicativo Android”, disse Fora, listando infinitas vidas em um jogo ou funcionalidades pagas em um aplicativo gratuito como apenas alguns exemplos.

Um exemplo mais assustador? Simplesmente volte a pensar em qualquer uma das aplicações de clonagem maliciosa que vimos. Pense sobre isso antes de baixar aquele clone do sketch FlappyBird.

PCMag Tech Deals

Looking For Deals On The Latest Tech?

Esta newsletter pode conter publicidade, ofertas ou links de afiliados. Assinar uma newsletter indica seu consentimento aos nossos Termos de Uso e Política de Privacidade. Você pode cancelar sua inscrição a qualquer momento.

Sobre Max Eddy

Deixe uma resposta

O seu endereço de email não será publicado.