Casa Securitywatch Rsac: reverse engineering di un'app Android in cinque minuti

Rsac: reverse engineering di un'app Android in cinque minuti

Video: Searching for Bitcoins in GitHub repositories with Google BigQuery (Novembre 2024)

Video: Searching for Bitcoins in GitHub repositories with Google BigQuery (Novembre 2024)
Anonim

Una delle tattiche più comuni per diffondere malware - o anche solo cattive applicazioni - su Android è il riconfezionamento delle app. Durante la sua presentazione alla RSA Conference, Pau Oliva Fora di viaForensics ha dimostrato che bastano pochi minuti per decodificare le app Android.

Ottieni la tua app

Il primo passo per decodificare un'app, ha detto Fora, è stato procurarti un'app. Anche se sembrano chiari sul tuo telefono, le app (o APK) Android sono in realtà solo file ZIP con una nuova estensione. All'interno è tutto ciò che l'app deve eseguire, dal codice a qualsiasi supporto di cui potrebbe aver bisogno.

Esistono diversi modi per ottenere un APK. Se hai un'app che desideri decodificare sul tuo Android, puoi utilizzare un file manager come ASTRO per salvare un backup su una scheda SD. È anche possibile connettere il tuo Android a un computer e quindi utilizzare Android Debugging Bridge per trasferire l'app sul tuo PC. Puoi anche utilizzare strumenti online per estrarre gli APK da Google Play.

Smontandolo

Una volta che hai un APK con cui lavorare, dovrai convertirlo in qualcosa di più utilizzabile. Per questo, Fora ha presentato due opzioni. Potresti disassemblare il tuo 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 potresti decompilare , che converte il DEX in un Java Archive (JAR) e quindi in Java.

Fora ha notato che poiché alcuni dati possono essere persi nel processo di decompilazione, è meglio usare un decompilatore creato pensando ad Android. Questo salta il passaggio JAR, convertendo DEX direttamente in Java.

Per le persone non interessate a rintracciare tutti quegli strumenti da soli, Fora ha suggerito Santoku. Questa è una distribuzione speciale di Linux di viaForensics che viene precaricata con tutti gli strumenti necessari per separare, modificare e riconfezionare un'applicazione Android. È un potente strumento forense digitale di cui abbiamo scritto in passato.

Inversione rapida

Se ti sei addormentato negli ultimi paragrafi, è qui che ti svegli. Usando Santoku, Fora ha raccolto un'app Android di base che aveva creato e l'ha fatta a pezzi. Quindi ha cercato il codice per una determinata riga, modificato il codice, riconfezionato, firmato, reinstallato l'app modificata sul suo Android e lanciato. L'intero processo ha richiesto meno di cinque minuti.

Ora, quello di Fora è stato un esempio molto semplice. L'app era molto semplice e non includeva codice offuscato. Tuttavia, la sua dimostrazione ha avuto implicazioni potenti. "Puoi farlo per cambiare il comportamento di qualsiasi applicazione Android", ha detto Fora, elencando infinite vite in un gioco o funzionalità a pagamento in un'app gratuita come solo alcuni esempi.

Un esempio più spaventoso? Riporta semplicemente la tua mente su una qualsiasi delle app di clone dannose che abbiamo visto. Pensaci prima di scaricare quel clone di FlappyBird impreciso.

Rsac: reverse engineering di un'app Android in cinque minuti