smali以及baksmali的jar包用法
Author: Linghuanyun
jar包下载地址
这2个jar包的作用就是将dex文件与smali文件格式进行互相转换。
要使用jar,首先需要配置Java环境,这个相信大家都会了,就不在重复。
Dex2Smali:
所用的jar包是baksmali.jar,版本是2.1.3
命令行:java -jar baksmali-2.1.3.jar -o [输出文件夹] dex文件
运行结果如图:
输出文件夹我这里设定的是smali,转换的dex文件是classes.dex
运行成功后,可以进入smali文件夹中看到转换成功的smali文件了。
Smali2Dex:
所用的jar包是smali.jar,版本是2.1.3
命令行:java -jar smali-2.1.3.jar -o 目标dex文件 [smali文件夹]
运行结果如图:
我们执行成功后,在文件下发现了newclasses.dex文件
那么是否转换的成功了呢?我们将得到的dex文件再用dex2jar转成jar文件
通过JD—GUI打开得到的jar文件,我们发现是成功的。
结束语
-
apktool:
是apk格式文件与smali文件的转换
-
dex2jar:
是dex格式文件与jar文件的转换
-
smali/baksmali:
是dex格式文件与smali文件的转换
关于apktool以及dex2jar的使用方法,请参考我的另一篇文章:
使用ApkTool以及dex2jar对apk进行反编译-更新异常以及解决方案