Android APK文件拆解方法
来源:互联网 发布:淘宝学生春秋外套 编辑:程序博客网 时间:2024/04/30 06:33
以下操作皆在Win环境下完成,默认已经安装了Android开发的需要各种杂七杂八的东西(其实这里需要只是JRE而已……)。
1 解压apk文件。
apk文件实质上只是一个压缩包,所以随便用点winrar什么的解开就好。通常会得到以下一些东西:
AndroidManifest.xml
classes.dex
/META-INF
/res
浸淫在Android App开发中的你看到Manifest文件是不是很亲切呢。不过很遗憾,这里的xml文件是经过格式化(或者叫序列化……爱谁谁)的,自然是没办法阅读。classes.dex则是Android使用的Dalvic虚拟机所支持的字节码文件,当然也是没法读的。/res里主要保留了一些资源文件,drawable里的图片基本是原封不动的保留下来了,而各种xml文件则和AndroidManifest.xml一样变成了不易读的格式。/META-INF里的东西暂时不用理会。
Android App开发的过程中打交道最多的自然是各种java类和对应的各种xml设定文件了。要拆解apk文件,最终目的当然是取得java文本和xml文本(图片什么的算是福利吧= =+)。So we begin.
2 取得java文本
Google为我们指出了一条康庄大道:把dex文件反编译为jar文件。工具地址在http://code.google.com/p/dex2jar/。这是一个命令行工具,解压后cmd进入其目录,可以看到dex2jar.bat这样一个批处理文件。最简单的命令使用格式是:
dex2jar <your_path>/classes.dex
如此,在classes.dex所在的目录下就生成了你所需要的jar文件,其文件名通常为classes.dex.dex2jar.jar。不过,到这里得到的jar文件依然是不易读的,此时进入下一步骤:Java Decompiler。工具地址在http://java.decompiler.free.fr/,截至目前其版本号是0.3.3。通过这个工具打开刚才得到jar文件,便可以通过一个与Eclipse环境类似的UI中一窥各种java文本的全貌了。
3 取得xml文本
依然是Google……写到这里不由得出了一身冷汗。APKTool,工具地址在http://code.google.com/p/android-apktool/。同样属于命令行工具,Win环境的各位需要下载的是apltool和apktool-install-windows两个文档。下载之后把所有的文件都解压到同一个目录下,即保证appt.exe、apktool.bat、apktool.jar三个文件在一起。这时通过cmd进入其所在目录,最简单的命令使用格式是:
apktool d <pathof_apk_file> <pathof_target>
这样apktool就会把apk文件解开到target路径中。/res目录中的东西基本可以看做是原装的,包括需要参考的各种xml文本;而java文本则被其转译成了一种后缀为smali的文件,虽然没有之前得到的java文本直观,不过在某些特殊情况下还是具备参考意义。
以上dex2jar和apktool两个工具的牛逼用法留待各位牛人自行折腾罢!
- Android APK文件拆解方法
- Android APK文件拆解方法
- apk文件拆解与重新打包
- Android镜像文件的拆解
- android 的.apk文件的反编译方法
- 反编译Android程序APK文件的方法
- android apk文件加壳方法
- Android apk文件方法数统计
- Android模拟器中APK文件的安装和卸载方法
- 安装 APK 文件到 Android 模拟器的方法
- Android APK文件在电脑上面运行方法
- 将HTML5封装成android应用APK 文件若干方法
- 将HTML5封装成android应用APK 文件若干方法
- 将HTML5封装成android应用APK文件若干方法
- Apk文件如何安装到Android模拟器的方法详解
- Android APK文件在电脑上面运行方法
- Android导出加签名的APK文件的方法
- android中对apk文件反编译的方法(详细)
- 读书中的无奈
- Java接口和抽象Java类
- .NET 下的文件夹监测系统
- 提防社交网站LBS服务的安全隐患
- 描述ADO .NET命令影响数据源说明
- Android APK文件拆解方法
- 让侦测工具把壳识别为VC++7.0的源代码(自动版)
- 选择成既定or既定的选择?
- 《奇特的一生》书中摘要
- Oracle 分页查询(转)
- Linux(Fedora 9) HL340 USB 转串口 驱动安装
- 某个时间断内表数据变化量
- internal、protected的区别
- poj 1080 Human Gene Functions