RSAC: Reverse-Engineering di un’app Android in cinque minuti

Una delle tattiche più comuni per diffondere malware – o anche solo cattive applicazioni – su Android è il repackaging delle app. Durante la sua presentazione alla RSA Conference, Pau Oliva Fora di viaForensics ha dimostrato che ci vogliono solo pochi minuti per il reverse engineering delle applicazioni Android.

Prendere la tua app
Il primo passo per il reverse engineering di un’app, ha detto Fora, è stato quello di prendere un’app. Anche se sembrano eleganti sul tuo telefono, le applicazioni Android (o APK) sono in realtà solo file ZIP con una nuova estensione. All’interno c’è tutto ciò di cui l’app ha bisogno per funzionare, dal codice a tutti i media di cui potrebbe aver bisogno.

Ci sono diversi modi per ottenere un APK. Se hai un’app che vorresti reingegnerizzare sul tuo Android, puoi usare un file manager come ASTRO per salvare un backup su una scheda SD. È anche possibile collegare il tuo Android a un computer e poi usare Android Debugging Bridge per trasferire l’app sul tuo PC. È anche possibile utilizzare strumenti online per succhiare gli APK da Google Play.

Prelevare
Una volta che avete un APK con cui lavorare, avrete bisogno di convertirlo in qualcosa di più utilizzabile. Per questo, Fora ha presentato due opzioni. Potreste disassemblare il vostro obiettivo con uno strumento come Apktool, che convertirà il file di codice dell’applicazione compilato dell’APK (Dalvik Executable, o DEX) in un linguaggio assembly come Smali. Oppure si potrebbe decompilare, che converte il DEX in un archivio Java (JAR), e poi in Java.

Fora ha notato che poiché alcuni dati possono essere persi nel processo di decompilazione, è meglio usare un decompilatore che è stato fatto con Android in mente. Questo salta il passo JAR, convertendo DEX direttamente in Java.

Per le persone non interessate a rintracciare tutti questi strumenti da sole, Fora ha suggerito Santoku. Questa è una distribuzione speciale di Linux da viaForensics che viene precaricata con tutti gli strumenti necessari per smontare, modificare e riconfezionare un’applicazione Android. È un potente strumento di digital forensics di cui abbiamo scritto in passato.

Rapid Reverse
Se vi siete addormentati durante gli ultimi paragrafi, è qui che vi svegliate. Usando Santoku, Fora ha preso un’applicazione Android molto semplice che aveva creato e l’ha smontata. Poi ha sfogliato il codice per una linea particolare, ha modificato il codice, l’ha reimpacchettato, l’ha firmato, ha reinstallato l’app modificata sul suo Android e l’ha lanciata. L’intero processo ha richiesto meno di cinque minuti.

Ora, quello di Fora era un esempio molto semplice. L’app era molto semplice e non includeva codice offuscato. Tuttavia, la sua dimostrazione aveva implicazioni potenti. “Si può fare questo per cambiare il comportamento di qualsiasi applicazione Android”, ha detto Fora, elencando vite infinite in un gioco o funzioni a pagamento in un’applicazione gratuita come alcuni esempi.

Un esempio più spaventoso? Basta riportare la mente a una qualsiasi delle app clone maligne che abbiamo visto. Pensa a questo prima di scaricare quel clone schizzato di FlappyBird.

PCMag Tech Deals

Cercando offerte sull’ultima tecnologia?

Questa newsletter può contenere pubblicità, offerte o link affiliati. L’iscrizione alla newsletter indica il tuo consenso alle nostre condizioni d’uso e all’informativa sulla privacy. Puoi cancellarti in qualsiasi momento.

Su Max Eddy

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.