1、apktool
这个工具可以将apk文件解压,查看其中资源文件,图片、XML资源、assets资源等。
下面以解压‘金山手机毒霸’为例,说明其使用方法:
首先下载要解压的apk文件,并放入D:ProgramFilesapktool1.5.2路径下;
打开命令行,进入到D:ProgramFilesapktool1.5.2;
输入命令‘apktool.bat d 金山手机毒霸_com.ijinshan.duba_30311521.apk’
运行完成后,会在当前路径下生成‘金山手机毒霸_com.ijinshan.duba_30311521’文件夹
打开文件夹可以查看除了源码之外的一些资源。
如果想查看源码,需要使用下面2个工具。
2、dex2jar
这个工具可以将class.dex文件反编译成jar文件
首先将‘金山手机毒霸_com.ijinshan.duba_30311521.apk’文件用好压(或其他解压软件)打开,将其中classes.dex文件复制到D:ProgramFiles路径下。
修改文件名为‘jinshanduba.dex’
运行命令行,进入到D:ProgramFiles,输入命令‘dex2jar-0.0.9.15dex2jar.bat jinshanduba.dex’
运行完成后,生成文件‘jinshanduba_dex2jar.jar’
该文件就是源码打包生成的jar包。
3、jd-gui
这个工具用于查看jar文件
进入D:ProgramFilesjd-gui-0.3.6,双击打开jd-gui.exe
将要查看的jar文件直接拖进窗口中,例如打开文件‘jinshanduba_dex2jar.jar’,如图:
可以看到代码是经过混淆的,这样看起来很伤脑筋,但还是可以从代码中获得一些灵感。
有些jar包未经过混淆,这样我们就可以方便地查看源代码了。