总结:

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://jd.benow.ca/



所用到的工具下载地址

http://download.csdn.net/detail/superjunjin/8538357

另外一款绿色的,集成了以上功能的反编译工具

http://download.csdn.net/detail/superjunjin/8538393



Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐