android 反编译apk

反编译apk对于一个android开发者老说还是很有必要的,尽管窃取别人的东西不是什么光彩的事情,但从技术层面来讲应该是每一个android开发者所必须掌握的技能,下面就来说说如何反编译一个apk。

所需工具:

1、dex2jar(负责反编译java代码)
2、jd-gui.jar(负责奖dex2jar翻边出来的jar包转为java代码)
3、apktool(负责反编译资源文件)

以上工具的下载链接:http://download.csdn.net/detail/u010948188/9435261

反编译java代码

为了尊重别人的劳动成果就不随便拿别人的apk做测试了,自己随便找了一个之前自己的demo的apk,命名为 test.apk。
将以上下载的工具包解压会看见




解压dex2jar



再将我们之前的apk解压缩会看到“classes.dex”文件,将其复制到刚才dex2jar解压后的文件夹中,打开cmd到dex2jar
执行 “d2j-dex2jar classes.dex” 命令,如图:



再次打开该文件夹会发现多了一个“classes-dex2jar.jar”文件,这算是第一步完成了,
这时需要用到第二个工具:jd-gui.jar,直接双击打开选择之前生成的jar就可以看到java内容了,




到上面已经将java代码全部反编译结束了,下面开始反编译资源文件

反编译资源文件

打开刚才解压apk出来的文件夹,有人会发现已经有res文件夹了,里面的资源也都有,要是你觉得就这样就ok了那就打错特错了,不信打开某个xml文件看看,一定是乱码,这并不奇怪,其实在我们打包apk的时候对这些资源都是经过编译的,既然直接打开不行的话那怎么办呢,这是就需要用到我们第三个工具:apktool

将我们要反编译的apk(test.apk)放到apktool文件夹,同样cmd到该文件夹目录, 执行:apktool d test.apk



看到这个你就算成功了,当然同样的操作你也可能不成功,原因是你之前有用过apktool的老版本操作过,使其在你电脑C:\Users\administrator\apktool\framework 目录留下了1.apk的文件,闪电他重新执行apktool d test.apk就可以。
此时你打开apktool的文件夹会发现多了一个名为“test”的文件夹,这是打开里面的文件看看发现已经不是乱码了,这正是我们想要的。


好了到这一步算是整个apk的反编译流程结束了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值