android apk反编译 apktool、dex2jar、jd-gui工具的使用

反编译apk是每个android开发者都会遇到的问题,最近研究了一下apk的反编译问题。在网上搜索了一些资源,都觉得不是很全,不是很适合类似于我这样初次接触apk反编译的人使用。于是就想着写下自己反编译apk文件的一些步骤。一是为了分享一下自己学习到的东西;二是为了记录下这些流程,如果下一次自己给忘记了,还能看看今天所写的。
在网上的反编译工具很多,但是适合自己的才是最好的。下面就来分享一下,自己是怎么反编译apk的。
一、工具
1、jdk:java文件运行的环境支持,目前最新版本是jdk1.8.0_45,可以直接到oracle网站下载。
2、jd-gui:用于反编译jar文件
3、apktool:用于反编译apk中的xml文件
4、dex2jar:用于将apk反编译成jar包
二、步骤
1、下载工具,这肯定不用说,没有工具何来下一步。jdk下载后,需要配置环境变量,这个百度一下根据步骤来就OK。其他工具,到我网盘下载就好。
链接:http://pan.baidu.com/s/1eQvoG06 密码:a4nw 工具解压到自己的文件夹中。准备发要反编译的apk文件。如:我将这三个工具都放到F:\apk反编译工具\反编译工具包 这个目录下。
2、首先将乱码的xml文件反编译成我们能看懂的。到xxxxx\apktool1.5.2目录下,按住Shift键+鼠标右键,选择在此处找开命令窗口,打开DOS命令框,直接在xxxxx\apktool1.5.2目录下;也可以win键+R也能打开,然后cd到xxxxx\apktool1.5.2目录下。输入命令:apktool d xxxxx yyyy xxxxx:你apk的目录加apk的加后缀的文件名 yyyy:反编译后存储数据的目录
这里写图片描述
找到反编译后的数据目录,打开。这个目录下的xml文件就是可以打开查看的,并不是乱码了。其中smali文件是对src目录文件的反编译,这里也可以用一个smali反编译工具来对些文件夹里的文件反编译成java文件。这里我不用这个文件里的smali文件。
这里写图片描述
3、其次是对dex文件的反编译,dex文件其实就是android源码打包后的文件。更改apk文件后缀为zip或是rar,用压缩工具打开找到.dex的文件解压到相应的目录下。
这里写图片描述
打开DOS命令框,切换到dex2jar目录下,dex2jar.bat xxxx.dex,编译完成后,会在dex文件目录下生成classes_dex2jar.jar文件。
这里写图片描述
4、接下来就用jd-gui工具打开jar文件,生成java文件。
这里写图片描述
5、最后将这反编译出的java文件和反编译出的xml文件合并,就完成了一个apk的反编译工作。
这样能反编译出大部分的apk。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值