现在的位置: 首页 > 综合 > 正文

android的apk之反编译

2013年05月17日 ⁄ 综合 ⁄ 共 769字 ⁄ 字号 评论关闭

总结:

1,apk就是一个压缩包

2,反编译apk就是反编译dalvik(Dalvik是Google公司自己设计用于Android平台的Java虚拟机)二进制文件dex和压缩的xml文件

3,常用的方法,apktool+dex2jar+xjad

首先了解一下,源文件到apk的变化,看图


apk解压缩后会有如下文件


首先,通过apktool去解压apk,得到可视的xml文件和smali文件

1,去google搜索apktool,下载前两个包


2,解压缩两个包,把需要的两个工具apktool.bat和apktool.jar拷到android-sdk-windows\platform-tools下


3,用apktool解压缩apk到新文件夹


4,普通解压和apktool解压后文件的区别

普通解压


apktool解压


此时xml文件已经可见,但smali文件夹下的smali文件需进一步反编译才能得到java类文件

重大发现:此种方法解压后不仅xml可见,困扰我的png9图片的问题也解决了。如果是普通解压,

解压后的png9图片都要自己重新加黑边(不小的工作量哦)


然后,通过dex2jar+xjad继续反编译,得到可视化的java类文件

1,google下载dex2jar包,解压缩后的工具都拷到android-sdk-windows\platform-tools下

2,需要普通解压的classes.dex文件,和如下命令把dex文件转成jar包


3,解压缩jar包,得到class文件

4,根据实际操作xjad工具解压jar包未成功,此方法弃用(win7下未成功)

5,终于搜得方法,好吧,此工具太好用了Java反编译器 Java
Decompiler
,对于查看class文件超级方便

官网下载 http://java.decompiler.free.fr/?q=jdgui




抱歉!评论已关闭.