1.工具下载页面:
https://bitbucket.org/JesusFreke/smali/downloads
下载下面这四个文件,然后放到任意一个文件夹比如work中。并将smali-2.2.1.jar改为smali.jar, 将baksmali-2.2.1.jar重命名为baksmali.jar
2.将要反编译的class.dex文件也放到work目录中。
3.执行反编译命令:
./baksmali d classes.dex
如果成功,将会在work目录下面创建一个out目录,里面就是反编译出来的smali文件。
4.踩过的坑
a.从github下载源码编译,生成的baksmali.jar反编译,
java -jar baksmali-2.2.1.jar classes.dex
一直报错:
Exception in thread "main" com.beust.jcommander.MissingCommandException: Expected a command, got classes.dex
at com.beust.jcommander.JCommander.parseValues(JCommander.java:725)
at com.beust.jcommander.JCommander.parse(JCommander.java:304)
at com.beust.jcommander.JCommander.parse(JCommander.java:287)
at org.jf.baksmali.Main.main(Main.java:90)
b.Windows平台下,也会报错:
没有主清单属性