反编译
第一种方法:
反编译工具下载地址 http://pan.baidu.com/s/1eQvshwu
android的反编译要经过两个步骤:
1.把dex文件转为jar
2.jar转为Java
下面说说详细步骤:
1.解压apk文件,得到classes.dex文件,把这个文件拷贝到dex2jar工具的目录下
在命令行进入到这个目录,并执行如下命令:
执行完后,dex2jar文件夹中会多出一个文件:
这是一个jar文件,用jd-gui打开这个文件就可以看到Java源码了。
第二种方法
使用工具Android逆向助手
先提取dex->然后dex转jar
终极方法:
现在已经出了jadx工具,一键反编译,连清单文件都能反编译出来,非常的方便
反编译和回编译
1.去apktool官网下载apktool
2.使用命令java -jar apktool.jar d -f apk文件名 实现反编译,会生成一个同名文件夹
3.修改smali源码(baksmali用于把classes.dex转为smali文件,smali用于把smali文件编译打包为classes.dex)
命令: java -jar baksmali.jar -o classout/ classes.dex
java -jar smali-1.3.2.jar classout/ -o classes.dex
4.使用命令java -jar apktool.jar b -f 反编译生成的文件夹名 实现回编译,会在里面dist中生成一个apk