欢迎关注我的微信公众号【万能的小江江】
前言
反编译apk,就是通过某些反编译软件,对我们的apk进行反编译,从而获取程序的源代码、图片、XML资源等文件(其实一个apk文件就是一个压缩包)
需要用到的工具和教程
apktool(不是必要,直接解压文件也可)
获取资源文件,提取图片文件,布局文件,还有一些XML的资源文件
下载地址
配置教程
注:下载后要把apktool_x.x.x.jar
重命名为apktool.jar
Windows
1.下载Windows包装程序脚本(右键单击,把链接另存为apktool.bat)
2.把两个文件复制到C:\Windows
中去
3.打开CMD
,输入apktool
进行验证
Linux
1.下载Linux 包装器脚本(右键单击,把链接另存为apktool)
2.将两个文件apktool.jar&apktool
移动到/usr/local/bin
确保两个文件都可执行chmod +x
3.在命令行输入apktool
进行验证
Mac OS
1.下载Mac 包装器脚本(右键单击,把链接另存为apktool)
2.将两个文件apktool.jar&apktool
移动到/usr/local/bin
3.确保两个文件都可执行chmod +x
4.在命令行输入apktool
进行验证
使用
反编译
使用d
或者decode
命令
$ apktool d bar.apk
$ apktool decode bar.apk
// 效果一样 反编译 bar.apk 并将其解压到 bar 目录
$ apktool d bar.apk o baz
// 反编译 bar.apk 并将其解压到 baz 目录
重新打包
使用b
或build
命令
$ apktool b bar -o new_bar.apk
// 将 bar 目录的资源打包成 new_bar.apk
和直接解压的区别
so bad…用apktool反编译出来的没有找到classes.dex
文件,直接解压出来的反而有,下面我会用直接解压出来的classes.dex
和classes2.dex
文件进行测试
dex2jar
将apk反编译成Java源码(将classes.dex转化为jar文件)
下载地址
https://sourceforge.net/projects/dex2jar/
使用
1.下载dex2jar后进行解压
2.把classes.dex
和classes2.dex
文件直接拷贝到dex2jar
解压后所在目录
3.进入命令行,执行d2j-dex2jar.bat 文件名
进行反编译操作
4.
jd-gui
查看用于查看dex2jar转换后的jar文件
下载地址
http://java-decompiler.github.io/
使用
下载后直接解压,执行exe文件即可