Android apk 反编译

前段时间反编译了一次,没想到,最近又有着需求,所以整理一下:

一、工具(百度一下都有:点击下载啦,良心价)

apktool (资源文件获取)
资源文件获取,可以提取出图片文件和布局文件进行使用查看

dex2jar(源码文件获取)
将apk反编译成java源码(classes.dex转化成jar文件)
 
jd-gui (源码查看)
查看APK中classes.dex转化成出的jar文件,即源码文件

二、开始反编译(PS:Windows系统)

为了方便进行反编译,我们将上述下载好的3个工具统一放到一个文件夹中

1. 使用apktool反编译apk得到图片、XML配置、语言资源等文件

首先打开命令窗口(windows+R),然后进入到三个工具所在的目录,然后就是运行
apktool.jar这个jar文件进行反编译:

整理了三种方法,原理一样(亲测有效)

apktool.jar d -f <apkPath> -o <output_dir>

这里写图片描述

apktool d <apkPath> -o <output_dir>

这里写图片描述

apktool.bat d -o <output_dir> name.apk

这里写图片描述

结果:现在清单文件和布局文件就出来了

这里写图片描述
这里写图片描述

2. 使用dex2jar反编译apk得到Java源代码

将需要反编译的apk的后缀名改为.zip或者.rar,然后解压到一个文件夹,得到其中的classes.dex文件。

将classes.dex复制到解压后的dex2jar-2.0文件夹下。从命令行进入到该目录,执行

d2j-dex2jar.bat classes.dex

这里写图片描述

会生成由classes.dex反编译得到的jar文件,classes-dex2jar.jar
这里写图片描述

然后使用jd-gui打开classes-dex2jar.jar,就可以查看源码了。
这里写图片描述

当然,这是class没有混淆的情况下可以查看的,混淆后的class反编译后类文件名称以及里面的方法名称都会以a,b,c….之类的样式命名,不利于参考学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值