反编译,即从apk安装包还原出Android源码。 本篇内容将使用dex2jar和jd-gui两个工具。 (工具可在微信公众号“我有一计”回复“反编译”进行下载)
1.Java代码
1.1将APK文件改后缀为zip然后用解压缩软件打开,取出里面的classes.dex文件,如下图所示:
1.2将从apk文件中得到的classes.dex文件放入dex2jar工具的目录中,如下图:
1.3在命令行中进入dex2jar工具的目录,执行命令: d2j-dex2jar.bat classes.dex ,如下图所示:
1.4待命令执行完成后,在dex2jar工具的目录中会发现多了一个文件classes-dex2jar.jar.
1.5用jd-gui工具(jd-gui.exe)查看生成的jar文件,即可查看java反编译的代码。 注:并非百分百还原,一些id是无法正常还原。
2.Xml代码
将解压得到的AndroidManifest.xml文件放到AXMLPrinter2.jar所在目录, 双击该目录下的XmlDecode.bat,可以生成xml对应的txt,它即是解码后的XML。 其它layout.xml文件类似。