一、首先、需要下面三个工具 反编译资源
1、APKTool: 反编译资源。
2、dex2jar: 反编译代码,把dex文件转成jar文件。
3、jd-gui:查看jar文件。
二、安装
APKTool:进入apktool文件夹中,可以看到apktool,apltool.jar和aapt三个文件,将这三个文件拷贝到/usr/local/bin中。
dex2jar:解压就行,在mac上我们需要用到dex2jar的是这三个东西(windows上对应用bat文件): 1、d2j_invoke.sh 2、d2j-dex2jar.sh 3、lib
jd-gui:不需要操作
三、使用
准备就绪 需要一个Apk文件
-
使用ApkTool进行反编译资源 :
1、打开终端,输入命令cd xxxx/xxxx ,进入所要反编译的apk文件夹
2、输入命令apktool d xxxx.apk,反编译apk,一顿操作之后会生成一个新的文件夹,名称和apk的名称一样,打开后里面有AndroidManifest.xml文件和res文件夹,里面为反编译后的资源文件
-
使用dex2jar jd-gui反编译Java代码
1、打开终端,输入命令cd xxx/xxx/dex2jar,进入下载的dex2jar文件夹中
2、输入命令
sh d2j-dex2jar.sh xxx/xxx/..app.apk
,进行反编译classes.dex文件,操作完成后,会在dex2jar文件夹中生成一个classes-dex2jar.jar文件。3、有可能会出现
./d2j_invoke.sh: Permission denied
这样的问题,再继续输入sudo chmod +x d2j_invoke.sh
即可。(具体路径因人而异)。 (也可以先将Apk转成Zip解压,然后获取classes.dex,将命令行中的apk 路径缓存.dex,这种方式会额外反编译出,BuildConfig和R 文件 ). 3.打开jd-gui文件,将classes-dex2jar.jar拖入jd-gui界面上,就能够看到Java文件了。