Android反编译
今天记一个牛逼的技术,就是APP反编译。所谓反编译就是把别人的apk的源代码给反编译出来,让程序员可读,当然希望各位能尊重每一个开发者的劳动成果,不要拿去做坏事。有些时候我们想学习借鉴别人APP某些功能是怎么实现的,应用到了哪些技术,用这个就可以。
step1:工具包下载
反编译用到的工具:
1. apktool --------获取图片等资源的工具包
官网下载网址:https://bitbucket.org/iBotPeaches/apktool/downloads/
2. dex2jar --------将apk中的classes.dex编译成jar的工具包
官网下载网址:http://sourceforge.net/projects/dex2jar/files/
3. jd-gui --------获取图片等资源的工具包
官网下载网址:http://jd.benow.ca/
到这里工具都下载好了(建议下载到同一个目录,解压到当前文件夹)。
step2:反编译步骤
拿一个打包好的apk,把后缀名.apk改为.rar 或 .zip,然后步骤解压:
打开
把classes.dex(它就是java文件编译再通过dx工具打包而成的)复制到dex2jar-2.0的目录下:
Win+R打开DOS命令窗口输入cmd 回车再cd进入该文件的目录:
输入:d2j-dex2jar.bat classes.dex 如果你是linux或mac系统的话就要用d2j-dex2jar.sh这个文件。
没报错,说明你的路径没问题,经过这步骤你的dex2jar-2.0的目录下会多出一个这样的文件:
现在肯定看不了源码,这里就要用到了我们的代码查看器JD-GUI
辛辛苦苦开发出来的APP不想被反编译怎么办?开发者可以进行代码混淆。。