第十八记·反编译Apk
若要转载请注明出处:http://blog.csdn.net/glm_970414161/article/details/52096629
1、反编译通俗的讲就是针对一些APP进行图片、资源、及源码的查看或者采用、去借鉴一些好的代码,以供学习。我们不允许在编译过来的源码进行破重装!
我们在进行反编译的时候,要使用以下工具:
大家可以到有关网站下载一下!
apktool
作用:资源文件获取,可以提取出图片文件和布局文件进行使用查看
dex2jar
作用:将apk反编译成Java源码(classes.dex转化成jar文件)。它是转换格式
jd-gui
作用:查看APK中classes.dex转化成出的jar文件,即源码文件。它是把转换出来的格式进行查看
1、apktool
首先将手机应用程序的.apk程序的文件放到apktool的文件夹里
然后再选定.apk的程序,按住shift键点右键跳出命令行界面
然后再在命令框内输入apktool d (要编译的apk名字)
然后回车就会跳出一个.apk名字的文件夹(例如上图的wy的文件夹)
此文件夹就有.apk程序里的图片及布局等资源文件
2、apk反编译得到源码
我们上头说了要通过dex2jar这个工具来进行
1、把下载好的.apk文件进行重命名改成.zip 或者.rar的格式,进行解压,在解压的文件中拿到一个classes.dex的文件,把这个问价复制贴到dex2jar的文件下
2、然后再在这个文件夹下找到dex2jar.bat的文件,选中,SHIFT+鼠标右键,进入命令框内
3、进入命令框内编辑dex2jar.bat classes.dex 回车就会生成一个classes_dex2jar.jar的文件
上面的步骤就把apk的程序生成了.jar的文件了
3、jd_gui的工具就是把上一步生成的.jar的文件编译成源码
点开jd_gui的文件夹里面有一个jd_gui.exe的程序,运行
然后把classes_dex2jar.jar添加到程序中,就可以查看里头的源码了!
备注:有些代码里头会出现a、b、c、d、……z的字母那是被混淆过的效果图,通常代表是文件名称、方法名。