android 反编译 方法大全(classex.dex转java,odex转classex.dex,system.img解压等等)

转载请声明:http://bbs.niuzhi.cc/thread-23-1-1.html


1.apk反编译: 先把XXX.apk,改名为XXX.zip,然后直接解压。解压出来,的目录结构类似如下

android 反编译 方法大全(classex.dex转java,odex转classex.dex,system.img解压等等)_第1张图片

这时我们要做的就是把 classes.dex 把编译成java类,再把主配置文件还在 res目录下的xml反编译


   1.反编译xml,我们先下载apktool,然后解压,为了以后方便开发,我们可以直接把解压后的路径,加到环境变量的 path下。

配完后,这时我们就可以直接打开命令行,执行命令 

apktool d apk文件路径  保存路径 

这时我们到保存路径下,就可以找到一个smali文件夹,还有一些反编译成功的xml文件,这时我们就成成功的把xml反编译成功了

  2.反编译dex,我们这一步反编译dex文件,下载 dex2jar工具,打开命令行,cd到dex2jar的文件夹,然后执行 "dex2jar  classes.dex路径" 即可在  dex2jar  所在目录生成文件

     classes_dex2jar.jar,这时,我们就可以把jar文件转成.java文件了

  3.反编译jar,上网下载一个jd-gui ,然后打开后,直接把生成的classes_dex2jar.jar拖入jd-gui中即可

2.抠别人的应用,放在自己的设备中


1.如果你没有设备,只有system.img文件,我们可以把system.img解压,取得我们所要的应用,先下载一个unyaffs ,然后跟sytem.img放在同个目录下,打开命令行,cd到当前目录,然后执行 unyaffs system.img即可解压到当前目录下,如果你有设备,当然是pull出来就行了

2.有时,当你拿到apk后,发现system/app下,还存在一些跟apk同名的,后缀名为odex的文件,这里说明厂家把apk odex化了,这里你若把apk 按上面的方式反编译,会发现,没找到classes.dex文件,这时你也许会想到一个问题,odex其实跟dex有种必然的联系,没错,odex就是由dex转换来的。这时,我们只要把odex转回dex文件,然后再把dex放回到apk中,就可以直接用了

3.odex转dex 还是一样,先下odex2dex工具 ,odex转dex的方法,大家先看一下http://www.cnblogs.com/wanqieddy/archive/2012/03/01/2375424.html这篇教程,在文章最底下,先试一下,如果出现java虚拟机内存不足就加上参数 -Xmx512m 最近比较忙,有空再把内容补全

你可能感兴趣的:(android)