工具
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版本,需要安装1
sudo apt-get install libgtk2.0-0:i386
配置
将/home/frank/opt/android-tool/disass添加到环境变量,修改~/.bashrc在最后加入一句1
export PATH=$PATH:/home/frank/opt/android-tool/disass/
使用
apktool
从apk中提出资源1
apktool d app-debug.apk
会在当前目录下产生app-debug目录,里面保存反编译出来的资源1
2
3
4
5
6
7.
├── AndroidManifest.xml
├── apktool.yml
├── original
├── res
├── smali
└── smali_classes2
dex2jar
将dex转为jar
先将app-debug.apk改为app-debug.zip,并解压缩得到dex文件1
unzip app-debug.zip
再将dex文件转换为jar1
2d2j-dex2jar.sh classes.dex
d2j-dex2jar.sh classes2.dex
生成的文件为classes-dex2jar.jar和classes2-dex2jar.jar
jd-gui
查看转化为jar的源文件
执行jd-gui开启classes2-dex2jar.jar, 可以查看各个class及代码