apktool,dex2jar,jd-gui简单使用

Android反编译练习

使用的三个软件都是免费的,下载地址Google一下也能轻易的搜到
apktool下载地址
dex2jar下载地址
jd-gui下载地址
dex2jar在sourceforge上面,建议代理开全局访问

apktool

运行apktool需要Java环境。Java 8或者JRE1.8。
我是Windows环境,其他环境可查看apktool下载地址文档。
在这里插入图片描述

  1. 把apktool.bat文件下载下来
  2. 下载apktool包(以apktool_2.3.3.jar为例)
  3. 重命名apktool包,名为apktool.jar
  4. 配置系统环境变量(可以参考java环境变量配置)或直接复制apktool.bat和apktool包到C://Windows
  5. 使用命令提示符运行apktool。

一般来说拿到一个apk文件之后想要得到自己想要的部分的代码一个很重要的突破口就是图片和xml文件,尤其是在你想要得到的部分是一个自定义控件的时候。因为图片和xml文件的名字是不会被混淆的,如果编写这个程序的人秉承了良好的代码规范的话,你就可以很容易的猜出你想要的界面使用的那些图片的名字,甚至猜出那个界面或者控件的xml文件的名字,继而找到控件的包名。

用apktool得到apk的资源文件
  1. 我有一个apk文件,路径为E:\app\test.apk
  2. 打开控制台,进入app所在的文件夹。
  3. 输入apktool d test.apk,敲回车。
  4. 出现了一个新的test文件夹

如图所示:
在这里插入图片描述
点击进入查看结构
在这里插入图片描述
没有发现java格式的文件,全是smali文件。(区别于直接解压apk,能看到到dex和java文件)

使用dex2jar获取jar文件

  1. 直接将test.apk文件后缀改为rar,解压test.rar文件,找到dex文件。dex2jar就是对dex文件起作用的。
  2. 进入dex2jar的那一堆bat命令所在的文件夹,找到那个名字里面带有dex2jar.bat的bat命令,我的这个版本是这个。
  3. 打开控制台,切换目录到dex2jar所在的文件夹(不切也行,记得配置dex2jar环境变量)。
  4. 控制台键入命令 d2j-dex2jar.bat E:\app\test\classes.dex (classes.dex的全路径)敲回车。

结果如下(classes-error.zip,记录了生成jar过程中错误)
在这里插入图片描述

使用jd-gui查看得到的jar包

怎么看这个jar包呢?这个时候jd-gui就起作用了,打开jd-gui.exe,把那个jar拖进去就可以看了。
一般来说jar的代码是经过混淆的,没有混淆可能是debug版本,比如下图。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值