META-INF
res res文件夹下包含图片,音频,字库等资源,及处理后的布局文件,暂时按下稍后会有文章介绍解决方法
AndroidManifest.xml 打开AndroidManifest.xml会发现是乱码,暂时按下稍后会有文章介绍解决方法
classes.dex 这个文件就是我们的目标,classes.dex是java源码编译后生成的java字节码文件.但由于Android使用的dalvik虚拟机与标准的java虚拟机是不兼容的,dex文件与class文件相比,不论是文件结构还是opcode都不一样.
resources.arsc 文本资源管理,有专门的工具(ArscEditor)可以进行处理
Step 2 从classes.dex转制成jar文件
接压缩之后在命令行里,指定到解压缩的目录,运行如下脚本
就会在你的dex2jar目录下生成classes-dex2jar.jar文件
Step 3 使用jd-gui获取java代码
打开jd-gui 读取刚刚生成的classes-dex2jar.jar,点击Save All Sources生成源代码的zip包。
这种方式反编译安卓代码,有这么几个问题
- 大部分代码都会经过混淆处理,代码阅读性差
- jd-gui在解释switch case时候会出现逻辑错误