APK反编译方法
目前在学习Android逆向分析,从最简单的开始学习静态分析。这篇博客就当是自己的学习笔记了。这里主要介绍3个软件:dex2.jar结合jd-gui、smali以及apktool。所有这三种方法里用到的资源都可以在http://pan.baidu.com/s/1ntKH0Gp下载得到。
dex2.jar结合jd-gui
1. 解压缩dex2.jar和jd-gui
2. 把.apk重命名为.zip文件,解压缩其classes.dex文件放到dex2.jar目录
3. cmd到d2j-dex2jar.bat所在目录,运行d2j-dex2jar.bat classes.dex
4. 运行jd-gui,打开class_dex2jar.jar
smali
1. 把baksmali.jar、smali.jar放到Android安装目录的sdk/tools下
2. cmd到tools目录,输入java -jar baksmali.jar -o classout/ classes.dex
3. 反编译的文件存储在classout文件夹下
4.smali回编译:java -jar smali.jar classout/ -o classes.dex
apktool
1. 先把自己机型的framework-res.apk文件放入解压缩的apktool文件夹中
2. 为apktool安装框架:apktool if framework-res.apk
3. apktool反编译:apktool d xxx.apk
4. apktool回编译:apktool b xxx
注意:
所有这几种反编译软件都需要java环境的支持,所以在反编译之前,确保自己的电脑上已经设置了java环境变量。