本文说明如何在ubuntu下进行apk的反编译
工具 链接到标题
apktool 链接到标题
https://ibotpeaches.github.io/Apktool/install/ 下载linux版本的文件,分别为apktool和apktool.jar 将以上文件放在**/home/frank/opt/android-tool/disass**下
dex2jar 链接到标题
https://github.com/pxb1988/dex2jar 下载最新的release版本,解压缩到**/home/frank/opt/android-tool/disass**下
jd-gui 链接到标题
http://jd.benow.ca/ 下载linux版本放到**/home/frank/opt/android-tool/disass**下 jd-gui需要libgtk-x11-2.0.so.0,且jg-gui只有32bit版本,需要安装
sudo apt-get install libgtk2.0-0:i386
配置 链接到标题
将**/home/frank/opt/android-tool/disass**添加到环境变量,修改~/.bashrc在最后加入一句
export PATH=$PATH:/home/frank/opt/android-tool/disass/
使用 链接到标题
apktool 链接到标题
从apk中提出资源
apktool d app-debug.apk
会在当前目录下产生app-debug目录,里面保存反编译出来的资源
.
├── AndroidManifest.xml
├── apktool.yml
├── original
├── res
├── smali
└── smali_classes2
dex2jar 链接到标题
将dex转为jar 先将app-debug.apk改为app-debug.zip,并解压缩得到dex文件
unzip app-debug.zip
再将dex文件转换为jar
d2j-dex2jar.sh classes.dex
d2j-dex2jar.sh classes2.dex
生成的文件为classes-dex2jar.jar和classes2-dex2jar.jar
jd-gui 链接到标题
查看转化为jar的源文件
执行jd-gui开启classes2-dex2jar.jar, 可以查看各个class及代码
