在android的开发过程中,总会想去看看别人的代码是怎么写的,这时候就需要去反编译别人的apk.
想要反编译android的apk需要三个工具: apktool 、dex2jar、jd-gui.exe
第一步:
将想要反编译的apk(比如123.apk),复制到apktool所在的文件夹,进入cmd, 进入apktool文件路径,运行
apktool d 123.apk 就可以将apk文件解压,可以看到所有的布局文件,但是代码是看不见的,这时候就得请上第二个工具dex2jar
第二步:
直接解压apk文件可以看到一个classes.dex的字节码文件,把这个字节码文件复制到dex2jar所在的文件夹下,在cmd下进入dex2jar文件路径,运行dex2jar classes.dex,将这个字节码文件转换为class文件,这个class文件也是看不了的,需要使用第三个工具将其转换为jar文件
第三步:
直接将第二步生成的class文件托到jd-gui.exe上就能看见所有的代码了,但是几乎所有上线的软件都会出于保护自己源代码的目的把代码混淆,有可能反编译得来的代码类名都会被更改为没有任何意义的名字,比较难于看懂
附上三个工具的在360云盘的下载地址:http://yunpan.cn/QCnq69fadYwpJ 提取码 afa1