Android apk反编译

       Android用于Apk反编译的工具主要有三个,分别为apktool、Dex2jar和jd-gui,它们分别负责反编译的不同部分,下面讲解一下它们的使用方法和用途。

1、apktool
      下载apktool完成后,解压并进入它所在的文件夹目录,可以看到它的目录大概如下:

 

 

      将要反编译的apk,假设为test.apk,复制到该目录中,执行反编译命令 apktool d test.apk ,如下图所示:

反编译后的test目录如下:

    这条命令是很有用的,我们可以提取该apk中res目录的资源文件,比如一些好看的图片。

    如果需要重新打包apk文件,只需要选择前面反编译生成的test文件夹并执行命令apktool b test,重新打包可以看到原先test文件夹多了一个dist目录,

    这个dist目录存放着重新打包的apk文件,如下:

2、Dex2jar和jd-gui
    使用apktool反编译得到的Java文件等经常是乱码或者是以.smali为后缀的文件,为了查看具体的源代码,就需要使用dex2jar和jd-gui,这两个工具主要用于查看apk源代码,如Java文件、xml文件等。
    首先,可以使用WinRAR工具打开apk文件,可以看到里面结构如下,这里有一个非常重要的文件classes.dex

     将classes.dex文件直接拖取到dex2jar文件的根目录下,执行命令d2j-dex2jar.bat classes.dex,如下:

    可以看到执行后dex2jar文件的根目录下生成了classes-dex2jar.jar文件

    获取了classes-dex2jar.jar文件后,就需要使用jd-gui来查看,打开jd-gui,选择file-open file,选择classes-dex2jar.jar文件,这时我们就可以查看具体的源代码了,如下:

     具体的代码就不展开了,总体来说,反编译应该建立在学习的基础上,不应该去破坏和盗取。有一点说明一下,可能有时候使用jd-gui打开classes-dex2jar.jar文件会出现里面内容空白,这个可能是因为dex2jar分析过程出错了,没有得到正确的classes-dex2jar.jar文件,这时可以多使用dex2jar工具分析classes.dex文件,即执行命令d2j-dex2jar.bat classes.dex获取正确的classes-dex2jar.jar文件。

Apk反编译工具下载

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值