Android:安装包的反编译

反编译,即从apk安装包还原出Android源码。
本篇内容将使用dex2jar和jd-gui两个工具。
(工具可在微信公众号“我有一计”回复“反编译”进行下载)

1.Java代码

1.1将APK文件改后缀为zip然后用解压缩软件打开,取出里面的classes.dex文件,如下图所示:Android:安装包的反编译
1.2将从apk文件中得到的classes.dex文件放入dex2jar工具的目录中,如下图:
Android:安装包的反编译
1.3在命令行中进入dex2jar工具的目录,执行命令: d2j-dex2jar.bat classes.dex ,如下图所示:
Android:安装包的反编译
1.4待命令执行完成后,在dex2jar工具的目录中会发现多了一个文件classes-dex2jar.jar.Android:安装包的反编译
1.5用jd-gui工具(jd-gui.exe)查看生成的jar文件,即可查看java反编译的代码。
注:并非百分百还原,一些id是无法正常还原。

2.Xml代码

将解压得到的AndroidManifest.xml文件放到AXMLPrinter2.jar所在目录,
双击该目录下的XmlDecode.bat,可以生成xml对应的txt,它即是解码后的XML。
其它layout.xml文件类似。
Android:安装包的反编译

上一篇:java中扫描标注@Componet组件方式


下一篇:pointer-like classes, 关于智能指针