Android-apktool: Decodifica e Ricrea APK per Android

Pubblicato da Yuri Carlenzoli | 15 febbraio 2012

Android-apktool è un software multipiattaforma che permette di decodificare e scompattare, quindi modificare e poi ricreare applicazioni APK per Android.

Android-apktool

Non solo per chi sviluppa applicazioni od a chi piace l'hacking potrebbe interessare modificare un'applicazione per il suo smartphone o tablet dotato di sistema operativo Android, ad esempio se qualche app è disponibile solo in lingua inglese e la si potrebbe voler tradurre oppure si potrebbero volere altre icone al posto di quelle originali; tramite android-apktool sarà possibile scompattare e decodificare le applicazioni in formato APK, modificarle e poi ricrearne un pacchetto APK.

Oltretutto, anche se possono esservi varie opzioni le quali permettono di farne un utilizzo più avanzato, decodificare e scompattare file APK e ricreare le applicazioni per Android con android-apktool è semplicissimo anche se il suo utilizzo prevede l'utilizzo della shell o del prompt dei comandi, bastano solo due comandi, per modificare/tradurre i file dell'applicazione ovviamente servirà un'editor di testo, e, per fare delle belle e leggere icone un programma di fotoritocco.

Come decodificare e ricreare file APK con android-apktool

Per semplificarvi ulteriormente come fare ad utilizzare android-apktool per estrarre e decodificare applicazioni di Android e come fare per creare un nuovo file APK, anche se è davvero molto semplice prenderò come esempio l'immagine di questo articolo che è stata fatta testando personalmente android-apktool con Linux, su Windows le differenze sono nulle, in entrambi i casi si dovrà mettere android-apktool in una directory di sistema ma non si dovrà installare niente, bisognerà solo scaricare il programma per il sistema operativo che utilizzate.

Dopo aver scaricato e scompattato android-apktool e le sue dipendenze rispettivamente per Linux o Windows la prima cosa da fare se si utilizza Linux (anche Mac OS X) è mettere tutti i files (senza le directory!) nella cartella /usr/local/bin, su Windows andranno messi nella directory di sistema ("windows" o "windows/system32", non ho testato su windows), questo oltre far si che con la shell o con il prompt non bisognerà muoversi tra le directory per cercare l'eseguibile è anche necessario per il corretto funzionamento di android-apktool.

Dopo aver "installato" android-apktool, ammettendo che vogliate decodificare ed estrarre l'applicazione "Tip+and+Tricks.apk" nella directory "Tip+and+Tricks+new" basta che vi spostate tramite shell o prompt nella directory dov'è presente il file APK e digitiate il comando con l'opzione d (decompile):

apktool d Tip+and+Tricks.apk Tip+and+Tricks+new

Avrete ora la cartella "Tip+and+Tricks+new" contenente i file decodificati dell'applicazione, potrete tradurla, modificarla se la licenza lo permette, hackerarla, cambiargli icone od altro.

Dopo che avete modificato quello che volete, per ricreare un'applicazione per Android tramite la directory creata dall'applicazione scompattata con android-apktool basta che utilizzate l'opzione b (build):

apktool b Tip+and+Tricks+new Tip+and+Tricks+new.apk

Se voleste installare l'applicazione modificata dovrete disattivare il controllo della firma, per inserire la firma dell'applicazione vi basterà aprire con un gestore di archivi il file APK dell'applicazione originale e cercare il file resources.arsc  e metterlo nel nuovo file APK nella stessa path dove l'aveva l'applicazione originale e copiare la directory META-INF nel file APK creato da android-apktool.

Concludo dicendo che android-apktool fa diventare più leggere (piccole di dimensioni ed ottimizzate nel codice) le applicazioni, questo anche perchè toglie la firma digitale, valutate voi se installarle non firmate o firmate digitalmente.

Da qui potete fare il download di android-apktool in tutte le sue versioni.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Moderazione dei commenti attiva. Il tuo commento non apparirà immediatamente.