android classes.dex 反编译
Step 1 获取classes.dex
将apk的后缀修改为zip,解压缩后会生成如下两个文件夹和三个文件
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 下载地址为 http://code.google.com/p/dex2jar/downloads/list 这个工具可以将classes.dex文件转换成jar文件。
接压缩之后在命令行里,指定到解压缩的目录,运行如下脚本
就会在你的dex2jar目录下生成classes-dex2jar.jar文件
Step 3 使用jd-gui获取java代码
jd-gui是一个java反编译软件可以从 http://java.decompiler.free.fr/?q=jdgui 下载
打开jd-gui 读取刚刚生成的classes-dex2jar.jar,点击Save All Sources生成源代码的zip包。
这种方式反编译安卓代码,有这么几个问题
- 大部分代码都会经过混淆处理,代码阅读性差
- jd-gui在解释switch case时候会出现逻辑错误
相关推荐
taiyuanwuyin 2010-08-15
满城风絮 2010-11-13
baqiuxiao 2011-08-13
yinsui 2013-12-27
attackeg 2014-09-04
zhangsunyucong 2015-01-14
易辰Android 2011-11-13
RickyLee 2014-09-14
yinbaoshiguang 2019-07-01
Miryou 2019-06-20
RungBy 2016-05-18
linghujava 2015-09-08
BeiHaiZuoPeng 2014-11-05
lasebella 2014-09-27
heavyle 2014-09-04
thankYouLikeMe 2014-07-25
梦想是会飞的猪 2014-06-07
WangWY 2014-02-14
linghujava 2014-02-10