反编译
参考:
- 郭大婶:http://blog.csdn.net/guolin_blog/article/details/49738023
- 红黑联盟:http://www.2cto.com/kf/201606/517304.html
- https://ibotpeaches.github.io/Apktool/build/
1. 反编译代码
要想将APK文件中的代码反编译出来,我们需要用到以下两款工具:
dex2jar 这个工具用于将dex文件转换成jar文件
下载地址:http://sourceforge.net/projects/dex2jar/files/jd-gui 这个工具用于将jar文件转换成java代码
下载地址:http://jd.benow.ca/
使用方法:
- 将apk文件改名为.rar或.zip格式压缩包文件
- 抽出压缩文件中的.dex文件(如:classes.dex)到解压出的dex2jar文件夹中
- 在dex2jar文件夹下dos窗口执行:d2j-dex2jar classes.dex,即得jar文件
- 通过jd-gui直接查看jar文件
注意:很可能失败,如QQ利用apktool漏洞,反编译dex文件报错如下:
解决办法:到Apktool官网https://ibotpeaches.github.io/Apktool/build/下载项目源码,修改源码,重新生成apktool.jar和apktool.bat文件,重新反编译。具体操作可参考:http://www.2cto.com/kf/201606/517304.html提示。
2.反编译资源
还原9-patch图片、布局、字符串等等一系列的资源。
下载:http://ibotpeaches.github.io/Apktool/install/
- 需要的就是apktool.bat和apktool.jar这两个文件
- 执行: apktool d Demo.apk