J'ai inversé l'ingénierie d'une application Android avec APKTool et obtenu des fichiers .Smali comme sortie de code source. J'ai converti les fichiers .Smali avec une application en fichiers .Java. J'ai pu éditer avec succès le .Java fichiers mais maintenant je veux les reconvertir en .Smali afin que je puisse recompiler l'application avec les nouveaux fichiers .Smali. Lorsque je laisse juste le fichier .Java là, il ne le recompile pas et donne des erreurs. Je n'ai pas pu trouver rien sur la compilation de .Java en .Smali sur Internet, donc j'espère que vous pourrez m'aider.
Merci d'avance,
Vous pouvez compiler les classes Java en utilisant un compilateur normal Java, puis utiliser l'utilitaire 'dx' d'Android pour convertir les fichiers .class compilés en un fichier dex). Et puis exécutez baksmali sur le fichier dex pour produire les fichiers smali.
Par exemple, supposons que vous ayez le code suivant dans un fichier Java nommé "HelloWorld.Java":
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Pour le convertir en smali:
javac HelloWorld.Java
dx --dex --output=classes.dex HelloWorld.class
baksmali classes.dex
Essayez Java2smali: https://github.com/ollide/intellij-Java2smali
Il s'agit d'une application utilisée pour convertir Java en Smali.