2015-03-14 17 views
6

Ho eseguito il reverseing di un'applicazione Android con APKTool e ottenuto file .Smali come output del codice sorgente. Ho convertito i file .Smali con un'applicazione in file .Java. Sono stato in grado di modificare i file .Java con successo, ma ora voglio riconvertirli in .Smali così posso ricompilare l'applicazione con i nuovi file .Smali. Quando lascio il file .Java, non lo ricompila e restituisce alcuni errori. Non sono riuscito a trovare nulla sulla compilazione .Java su .Smali su Internet quindi spero che voi ragazzi potreste aiutarmi.Converti file .Java in file .Smali

Grazie in anticipo,

+1

Stai cercando di inserire il malware nell'app per Android? –

+0

@JaredBurrows No, non preoccuparti :) –

+1

Sto votando per chiudere questa domanda come off-topic perché probabilmente chiedi aiuto per violare la proprietà di qualcuno. – Simon

risposta

12

È possibile compilare le classi java utilizzando un normale compilatore Java e quindi utilizzare l'utilità 'dx' di Android per convertire i file .class compilati in un file dex. E quindi eseguire baksmali sul file dex per produrre i file smali.

Per esempio, diciamo che avete il seguente codice in un file Java denominato "HelloWorld.java":

public class HelloWorld { 
    public static void main(String[] args) { 
     System.out.println("Hello World!"); 
    } 
} 

per convertirlo in Smali:

javac HelloWorld.java 
dx --dex --output=classes.dex HelloWorld.class 
baksmali classes.dex 
+0

Grazie. Questo ha aiutato. –

+2

Grazie, mi ha aiutato anche. Ho realizzato un piccolo file batch di Windows per realizzare questo: https://gist.github.com/houtianze/fc9f158fd86bb0b58c485139ddc32ece – ibic

+1

Nota, che devi usare Java 7 (non Java 8) per quello! – z3ntu

12

Prova java2smali: https://github.com/ollide/intellij-java2smali

Si tratta di un'applicazione utilizzata per convertire Java per Smali.

+0

È un plug-in IntelIJ. Ho bisogno di un programma standalone. –

+0

Vedere: http://stackoverflow.com/questions/5448267/direct-java-to-smali-conversion-possible –

+0

Sì, ho trovato anche questo post ma converte il file. Java in un file .class o .dex file ma ho bisogno di un convertitore .Smali perché APKTool esegue la conversione da .Smali> .Dex –