Android反编译工具baksmali最新版的使用方法

最近准备做一些Android方面的实验,这是碰到的第一个小问题。

大家都知道,要对Android APK进行有效分析,往往需要对其进行反编译。目前常用的Android反编译工具有:

Baksmali:https://github.com/JesusFreke/smali

Apktool:https://ibotpeaches.github.io/Apktool/

dex2jar:https://sourceforge.net/projects/dex2jar/

这几个工具,我注意到,大家基本上用的最多的是Baksmali,不过我使用的时候,发现其使用方法有了简单变化,所以简单记录一下。按照第一个链接页面里的介绍,Baksmali的最新版可以在这里下载:https://bitbucket.org/JesusFreke/smali/downloads/。我下载到的最新版本是2.2.2。参考类似这里给出的例子:http://blog.csdn.net/moondroid/article/details/44224111,运行:

java -jar baksmali-2.2.2.jar -o classout/ classes.dex
结果报:Expected a command, got -o

也不知道是怎么回事,运行了一下:

java -jar baksmali-2.2.2.jar -h

按照其帮助提示,直接运行:

java -jar baksmali-2.2.2.jar d classes.dex

发现可以正常输出结果了,就在运行目录下创建一个out文件夹,生成所有对应的smali文件。原来是版本升级过程中,命令行参数格式也发生变化了,话说这样做挺坑人的。

另外,生成的smali文件中都是类似:move-object v2, p1,这样的Opcode和操作数相组合的形式。据其他材料介绍,Android目前共有218种Opcode,具体可以参考这里:

http://blog.csdn.net/jiayanhui2877/article/details/41008985

这里就简单记录这么多。

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值