Applicazioni Android

Come estrarre il codice sorgente da un apk

Come estrarre il codice sorgente da un apk

Quante volte avresti voluto vedere il codice con cui è sviluppata un’applicazione scaricata dal Play Store o un semplice e comune file .apk?

Bene, con questo metodo, farlo sarà semplicissimo. Vediamo dunque insieme come estrarre il codice sorgente da un apk.

Come estrarre il codice sorgente da un apk

Prima di iniziare volevo precisare che ricavare il codice sorgente non funzionerà per tutte le applicazioni, questo è dovuto ad una corretta “protezione” del codice. Ti ricordo, inoltre, di usare questo sistema nel rispetto degli altri sviluppatori Android che Tuttoapp vuole tutelare come da sua filosofia. Ricordo, a tal proposito, che Android Studio, proprio per proteggere i codici sorgente, mette a disposizione la libreria proguard.

Ma cominciamo subito con la guida su come estrarre il codice sorgente da un apk. Farlo è un gioco da ragazzi, basterà avere il giusto materiale e risulterà facilissimo!

File da scaricare

I file da scaricare saranno fondamentali per la corretta visualizzazione del codice, in quanto avremo a che fare con un estensione file “.dex” che dovrà essere aperto e letto: sarà impossibile farlo senza questi due file.

I file saranno i seguenti:

La guida – Come estrarre il codice sorgente da un apk

Prima di continuare con la guida vorrei ribadire che il procedimento in questione ha un mero scopo illustrativo in quanto quest’ultimo spiega come estrarre il codice sorgente da un apk ed effettuare un semplice reversing.

Ricordo, inoltre, che usufruire di un procedimento di reverse per modificare l’applicazione in modo da inserirne virus, trojan o qualsiasi altro codice nocivo per chi ne fa uso, viene considerato un procedimento illegale.

Installazione del file apk

Il primo procedimento da effettuare sarà quello di installare un qualsiasi file .apk. Ricordo che, per i dispositivi che presentano i permessi di root, l’operazione di esportare i file apk sarà possibile senza utilizzare altri passaggi.
Chi possiede un dispositivo senza permessi di root, invece, dovrà scaricare il file apk da qualsiasi sito (consiglio apkmirror.com).

Una volta installato l’applicazione nel formato .apk siamo pronti per iniziare il reverse vero e proprio.

Cominciamo subito!

Operazione di Reverse

La prima cosa da fare sarà aprire il file APK con un qualsiasi archivio (.rar o .zip) poiché il tipo di file in questione non è altro che un insieme di file inseriti in un archivio.

Una volta aperto il file apk, segui questi semplici passaggi:

  1. Scarica il software Dex2Jar prima elencato.
  2. Estrai la cartella Dex2jar nel desktop.
  3. Copia TUTTI i file con estensione .dex (rinominati Classes) nella cartella di Dex2Jar.
  4. Trascina i file Classes sul file “d2j-dex2jar.bat“(Cambierà il formato da .dex a .jar).
  5. Scarica il software JD-GUI prima elencato.
  6. Estrai JD-GUI nel desktop.
  7. Apri JD-GUI e clicca su “Open“.
  8. Seleziona i file .jar prima convertiti.
  9. Complimenti! Hai finito la procedura su come estrarre il codice sorgente da un apk.

Ricordo ancora una volta che questa procedura funziona solo con le applicazioni che non hanno utilizzato la protezione del codice sorgente. Quindi, non si assicura il corretto funzionamento per TUTTI i file apk.

Cosa pensi di circa questa procedura?

Ti è servita questa guida? Hai provato a fare questo procedimento? Faccelo sapere nei commenti!

Articoli correlati

9 Commenti

  1. Ho una domanda perchè mi da errore quando vado nel cmd digito cd poi il percorso dove è contenuto il file mi si apre Jd-Gui in automatico e mi dice errore

    Io ho.estratto il file apk con win rar ho estratto il file apk di clash royale sul dekstop poi ho estratto gli altri due file sul dekstop poi sono andato in cmd e ho digitato cd percorso fileclasses-dex2jar.jar e poi mi si apre in automatico Jd-Gui e mi da errore

  2. Faccio tutti i passaggi ma non mi trasforma il file classes.dex in .jar . come posso fare? Riguarda il fatto che non ho Java installato nel mio computer?

  3. ottenendo il codice sorgente di un file apk android secondo te posso andare su phone gap e tradurlo come un file ipa dal codice sorgente android?

  4. Salve, sto cercando di eseguire questa guida. Arrivato al passaggio 4 (trascinare il file “classes.dex”) non avviene nulla, e di conseguenza non si crea nessun file in formato .jar. Come mai?
    Ho provato ad eseguire il file “d2j-dex2jar.bat” tramite cmd, ma mi viene fuori il seguente messaggio:

    “java” non è riconosciuto come comando interno o esterno, un programma eseguibile o un file batch.

    Grazie

  5. La procedura è chiara, ma non essendo un programmatore ma un semplice utilizzatore di apk,come potrebbe essermi utile? E’ sempre meglio essere aggiornati su tutto, ma prima di tutto mi domando l’uso che potrei farne di questa conoscenza di cui onestamente non ne conoscevo neanche l’esistenza.

    1. Caro Enzo,

      dubito in realtà che possa ricavarne benefici se non sei uno sviluppatore.

      A presto,

      Giovan Giuseppe

Lascia un commento

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

Pulsante per tornare all'inizio