[GUIDA] Come usare baksmali/smali per decompilare/compilare file .jar
Vi riporto e condivido con tutti voi questa guida che mi è stata di grande aiuto molte volte soprattutto all'inizio quando cercavo di capire come decompilare e modificare file con estensione “.jar”
Partiamo dal presupposto che dobbiamo avere già un minimo di conoscenza nel campo del modding e soprattutto avere tutti i pacchetti java correttamente configurati sul nostro pc, ma su questo non mi dilungo molto, vi riporto solo i passaggi fondamentali presi dall'ottima guida creata dal collega Steulm nel thread “l'angolo dei cuochi”:
Quote:
Originariamente inviato da
STEULM
Prima di tutto, abbiamo bisogno del Java Developement Kit....
JDK:
http://www.oracle.com/technetwork/ja...s-1880260.html
Selezionare il file secondo il sistema operativo che usate e installatelo seguendo la procedura che viene descritta dall'installer.
Al termine dell'instalazione, andiamo ad aggiungere/modificare la variabile d'ambiente...
Tasto destro Risorse del Computer -> Proprietà -> Impostazioni Avanzate sulla colonna a sinistra -> Avanzate -> Variabili d'Ambiente
In Variabili di sistema cerchiamo la Variabile "Path"*
Se non è presente, aggiungiamola premendo "Nuova" e in nome variabile scriviamo "Path" (senza virgolette...) e in valore variabile
inseriamo il percorso del file javac.exe che troveremo nella cartella del JDK nel percorso di installazione.... (da me è: C:\Program Files\Java\jdk1.7.0_01\bin)
se presente la variabile Path -> modifichiamola
aggiungendo un punto e virgola [ ; ] alla fine dell'indirizzo attuale, e aggiungendo il nuovo percorso come sopra.....
PRESTATE SEMPRE MOLTA ATTENZIONE ALLA CORRETTA INSTALLAZIONE DI TUTTI I PACCHETTI JAVA IN QUANTO LA MAGGIOR PARTE DEI PROBLEMI DI ERRORI IN DECOMPILAZIONE/COMPILAZIONE (COME ANCHE CON APKTOOL) DERIVANO PROPRIO DA UNA NON CORRETTA INSTALLAZIONE DI JAVA
- Detta questa premessa, passiamo alle spiegazioni riguardo all'utilizzo di questo tool:
1) per prima cosa scarichiamo il materiale che ci serve da qui download smali_baksmali_2.1.1_updated.rar
2) scompattiamo il contenuto in una cartella a nostro piacimento, trovando questo contenuto
3) come esempio partiremo col decompilare l' “android.policy.jar”,che andrà preso dalla nostra rom/progetto e copiato nella cartella da noi appena creata
4) Nei file che troverete nella cartella appena scompattata ci sono 2 file essenziali:
1.bat (il decompilatore)
2.bat (il compilatore)
- Per decompilare il nostro .jar possiamo semplicemente cliccare due volte su “1.bat” (questo comando ha in memoria già la stringa di comando per decompilare col nome del nostro .jar, in questo caso android.policy.jar. Se volete decompilare un altro file basta editare 1.bat con un programma di editing tipo notepad++
e sostituire il nome del .jar col nome del file che vogliamo decompialre, sempre seguito dall'estensione .jar)
- In alternativa potere usare i comandi manuali facendo partire il “command prompt”:
Vi si aprirà una schermata dove poter inserire i seguenti comandi:
codice:
- PER DECOMPILARE:
java -jar baksmali.jar -x nome.jar -o classout (dove “nome” sarà il nome del vostro file.jar)
codice:
- PER COMPILARE:
java -Xmx512M -jar smali.jar classout -o classes.dex
- Una volta utilizzato il primo comando per compilare verrà creata una cartella di nome “classout” dove all'interno troverete il codice smali relativo al vostro file.
Adesso potete andare a modificare all'interno quello che vi interessa sempre utilizzando notepad++ (non utilizzare MAI il notepad di windows). Una vola terminata la modifica alla stringa che vi interessa salvate e chiudete notepad++.
- Adesso possiamo utilizzare il comando “2.bat” per ricompilare il tutto, creando il file “classes.dex” (che troverete sempre nella root della cartella).
- Non ci resta che rendere effettive le modifiche quindi:
--> clicchiamo col destro sul nostro “android.policy.jar” e selezioniamo “apri con” 7-zip file manager”
--> prendiamo il file “classes.dex” precedentemente creato e trasciniamolo dentro il nostro “android.policy.jar” appena aperto con 7zip. Chiederà conferma di copiare all'interno il file, diamo sempre si
chiudiamo la finestra e copiamo il nostro “android.policy.jar” correttamente modificato nella sua corrispettiva posizione all'interno del telefono per testare le modifiche appena fatte
----------------------------------------------------------------------------------------------------------------------------------------
- L' “android.policy.jar” utilizzato in questa guida è stato preso come esempio e può essere sostituito con qualsiasi altro file.jar sia di vostro interesse modificare, seguendo sempre le medesime procedure.
----------------------------------------------------------------------------------------------------------------------------------------
- Ringrazio in primis la mia socia e amica malo2000 per i suoi sempre preziosi consigli e per l'ottimo lavoro di squadra che ci spinge ogni volta a cercare di migliorarci e "osare sempre quel qualcosa in più", il collega SteUlm per i suoi utilissimi post all'interno del thread L'angolo dei cuochi, per i suoi consigli e l'utente althebyani di xda [TOOL] Baksmali/Smali for ICS - xda-developers per avermi fatto scoprire questo tool per compilare/decompilare i .jar
----------------------------------------------------------------------------------------------------------------------------------------
Io non sono un programmatore e non conosco java, ma se siete armati di tanta pazienza e mossi da una grande passione, con questi semplici consigli e ottimi tool riuscirete come me senza problemi a fare le modifiche che cercate, ovvio un minimo di conoscenza nell'ambiente ci vuole
R: [GUIDA] Come usare baksmali/smali per decompilare/compilare file .jar
Sgrunt.... Ora chiudo....
Trollallero Trollallá mediante il mio GS2 con gingerbread 2.3.5 ki8
R: [GUIDA] Come usare baksmali/smali per decompilare/compilare file .jar
Quote:
Originariamente inviato da
JacOcaJ
Sgrunt.... Ora chiudo....
Trollallero Trollallá mediante il mio GS2 con gingerbread 2.3.5 ki8
Capo.. perché sei cattivo con me? :'( rotfl ti faccio guide istruttive :D
Inviato dal mio GT-I9100 con Tapatalk 2
R: [GUIDA] Come usare baksmali/smali per decompilare/compilare file .jar
Quote:
Originariamente inviato da
bluflight13
Capo.. perché sei cattivo con me? :'( rotfl ti faccio guide istruttive :D
Inviato dal mio GT-I9100 con Tapatalk 2
È una sorta di amore/odio.... rotfl rotfl
L'hai postato nel thread dell'angolo dei cuochi?
Trollallero Trollallá mediante il mio GS2 con gingerbread 2.3.5 ki8
R: [GUIDA] Come usare baksmali/smali per decompilare/compilare file .jar
Quote:
Originariamente inviato da
bluflight13
Vi riporto e condivido con tutti voi questa guida che mi è stata di grande aiuto molte volte soprattutto all'inizio quando cercavo di capire come decompilare e modificare file con estensione “.jar”
Partiamo dal presupposto che dobbiamo avere già un minimo di conoscenza nel campo del modding e soprattutto avere tutti i pacchetti java correttamente configurati sul nostro pc, ma su questo non mi dilungo molto, vi riporto solo i passaggi fondamentali presi dall'ottima guida creata dal collega Steulm nel thread “l'angolo dei cuochi”:
PRESTATE SEMPRE MOLTA ATTENZIONE ALLA CORRETTA INSTALLAZIONE DI TUTTI I PACCHETTI JAVA IN QUANTO LA MAGGIOR PARTE DEI PROBLEMI DI ERRORI IN DECOMPILAZIONE/COMPILAZIONE (COME ANCHE CON APKTOOL) DERIVANO PROPRIO DA UNA NON CORRETTA INSTALLAZIONE DI JAVA
- Detta questa premessa, passiamo alle spiegazioni riguardo all'utilizzo di questo tool:
1) per prima cosa scarichiamo il materiale che ci serve da qui
Thebyani_baksmail-smali.zip.html
2) scompattiamo il contenuto in una cartella a nostro piacimento, trovando questo contenuto
3) come esempio partiremo col decompilare l' “android.policy.jar”,che andrà preso dalla nostra rom/progetto e copiato nella cartella da noi appena creata
4) Nei file che troverete nella cartella appena scompattata ci sono 2 file essenziali:
1.bat (il decompilatore)
2.bat (il compilatore)
- Per decompilare il nostro .jar possiamo semplicemente cliccare due volte su “1.bat” (questo comando ha in memoria già la stringa di comando per decompilare col nome del nostro .jar, in questo caso android.policy.jar. Se volete decompilare un altro file basta editare 1.bat con un programma di editing tipo notepad++
e sostituire il nome del .jar col nome del file che vogliamo decompialre, sempre seguito dall'estensione .jar)
- In alternativa potere usare i comandi manuali facendo partire il “command prompt”:
Vi si aprirà una schermata dove poter inserire i seguenti comandi:
codice:
- PER DECOMPILARE:
java -jar baksmali.jar -x nome.jar -o classout (dove “nome” sarà il nome del vostro file.jar)
codice:
- PER COMPILARE:
java -Xmx512M -jar smali.jar classout -o classes.dex
- Una volta utilizzato il primo comando per compilare verrà creata una cartella di nome “classout” dove all'interno troverete il codice smali relativo al vostro file.
Adesso potete andare a modificare all'interno quello che vi interessa sempre utilizzando notepad++ (non utilizzare MAI il notepad di windows). Una vola terminata la modifica alla stringa che vi interessa salvate e chiudete notepad++.
- Adesso possiamo utilizzare il comando “2.bat” per ricompilare il tutto, creando il file “classes.dex” (che troverete sempre nella root della cartella).
- Non ci resta che rendere effettive le modifiche quindi:
--> clicchiamo col destro sul nostro “android.policy.jar” e selezioniamo “apri con” 7-zip file manager”
--> prendiamo il file “classes.dex” precedentemente creato e trasciniamolo dentro il nostro “android.policy.jar” appena aperto con 7zip. Chiederà conferma di copiare all'interno il file, diamo sempre si
chiudiamo la finestra e copiamo il nostro “android.policy.jar” correttamente modificato nella sua corrispettiva posizione all'interno del telefono per testare le modifiche appena fatte
----------------------------------------------------------------------------------------------------------------------------------------
- L' “android.policy.jar” utilizzato in questa guida è stato preso come esempio e può essere sostituito con qualsiasi altro file.jar sia di vostro interesse modificare, seguendo sempre le medesime procedure.
----------------------------------------------------------------------------------------------------------------------------------------
- Ringrazio in primis la mia socia e amica malo2000 per i suoi sempre preziosi consigli e per l'ottimo lavoro di squadra che ci spinge ogni volta a cercare di migliorarci e "osare sempre quel qualcosa in più", il collega SteUlm per i suoi utilissimi post all'interno del thread L'angolo dei cuochi, per i suoi consigli e l'utente althebyani di xda [TOOL] Baksmali/Smali for ICS - xda-developers per avermi fatto scoprire questo tool per compilare/decompilare i .jar
----------------------------------------------------------------------------------------------------------------------------------------
Io non sono un programmatore e non conosco java, ma se siete armati di tanta pazienza e mossi da una grande passione, con questi semplici consigli e ottimi tool riuscirete come me senza problemi a fare le modifiche che cercate, ovvio un minimo di conoscenza nell'ambiente ci vuole
ottina guida grazie mille!;-)
®Ghost®