使用apktool+dex2jar+jd-gui反编译apk
1.安装apktool
如果未安装 下载apktool :
解压apktool.zip,把apktool和apktool.jar放到usr/local/bin文件下;
终端下输入命令: apktool --v 如果有以下输出,安装成功:
Ambiguous option: '--v' (could be: 'version', 'verbose')
Apktool v2.3.3 - a tool for reengineering Android apk files
with smali v2.2.2 and baksmali v2.2.2
Copyright 2014 Ryszard Wiśniewski <[email protected]>
Updated by Connor Tumbleson <[email protected]>
1.1命令行进入*.apk文件所在路径: 输入:apktool d *.apk;如( release git:(develop) ✗ apktool d release.apk)得到清单文件和res下的资源文件。
2.使用dex2jar; 如果未安装下载(直接解压zip即可)
2.1:把*.apk重命名为*.zip,解压zip可以看到classe.dex文件;
2.2: 终端命令行 进入dex2jar-2.0所在目录 ls
d2j-jar2jasmin.bat
d2j-baksmali.bat d2j-jar2jasmin.sh
d2j-baksmali.sh d2j-jasmin2jar.bat
d2j-dex-recompute-checksum.bat d2j-jasmin2jar.sh
d2j-dex-recompute-checksum.sh d2j-smali.bat
d2j-dex2jar.bat d2j-smali.sh
d2j-dex2jar.sh d2j-std-apk.bat
d2j-dex2smali.bat d2j-std-apk.sh
d2j-dex2smali.sh d2j_invoke.bat
d2j-jar2dex.bat d2j_invoke.sh
d2j-jar2dex.sh lib
要使用的就是d2j-dex2jar.sh;
在dex2jar-2.0目录下 键入:sh d2j-dex2jar.sh */classes.dex ;例如(➜ dex2jar-2.0 sh d2j-dex2jar.sh /solftware/app-release/classes.dex)
输出dex2jar /solftware/app-release/classes.dex -> ./classes-dex2jar.jar 则说明转化成功
附注:如果使用sh d2j-dex2jar.sh */classes.dex命令,输出为:d2j-dex2jar.sh: line 36: ./d2j_invoke.sh: Permission denied
直接输入命令授权:sudo chmod +x d2j_invoke.sh
可以在dex2jar-2.0文件下 有了个classes-dex2jar.jar文件,直接把classes-dex2jar.jar拖到jd-gui里,即可看到各种类文件。
附注如果未安装jd-gui 下载jd-gui (解压,在jd-gui-osx-1.4.0点击咖啡图标即可)