smali以及baksmali的jar包用法

时间:2023-01-31 12:23:53

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以及baksmali的jar包用法
运行成功后,可以进入smali文件夹中看到转换成功的smali文件了。
smali以及baksmali的jar包用法

Smali2Dex:

所用的jar包是smali.jar,版本是2.1.3
命令行:java -jar smali-2.1.3.jar -o 目标dex文件 [smali文件夹]
运行结果如图:
smali以及baksmali的jar包用法
我们执行成功后,在文件下发现了newclasses.dex文件
smali以及baksmali的jar包用法
那么是否转换的成功了呢?我们将得到的dex文件再用dex2jar转成jar文件
smali以及baksmali的jar包用法
通过JD—GUI打开得到的jar文件,我们发现是成功的。

结束语

  • apktool:

    是apk格式文件与smali文件的转换

  • dex2jar:

    是dex格式文件与jar文件的转换

  • smali/baksmali:

    是dex格式文件与smali文件的转换

关于apktool以及dex2jar的使用方法,请参考我的另一篇文章:
使用ApkTool以及dex2jar对apk进行反编译-更新异常以及解决方案