作者:徐建祥(netpirate@gmail.com)
日期:2009/12/23
网址:http://www.anymobile.org
1/ apk文件结构:
Apk文件:
Android application package文件。每个要安装到OPhone平台的应用都要被编译打包为一个单独的文件,后缀名为.apk,其中包含了应用的二进制代码、资源、配置文件等。
apk文件实际是一个zip压缩包,可以通过解压缩工具解开。可以用zip解开*.apk文件,下面是一个helloword的apk示例文件
|– AndroidManifest.xml
|– META-INF
| |– CERT.RSA
| |– CERT.SF
| `– MANIFEST.MF
|– classes.dex
|– res
| |– drawable
| | `– icon.png
| `– layout
| `– main.xml
`– resources.arsc
2/ apk文件解压后反编译:
2.1 图片等多媒体文件:没有编译,无需反编译。
2.2 layout等二进制xml文件:使用AXMLPrinter将其转换为可读的xml文件:java -jar AXMLPrinter2.jar main.xml > new_main.xml
工具下载地址:
http://code.google.com/p/android4me/downloads/list
2.3 class文件反编译:
Android模拟器中提供了一个dex文件的反编译工具,dexdump。用法为首先启动Android模拟器,把要查看的dex文件用adb push上传的模拟器中,然后通过adb shell登录,找到要查看的dex文件,执行dexdump xxx.dex。
目前在网上能找到的另一个dex文件的反编译工具是Dedexer。Dedexer可以读取dex格式的文件,生成一种类似于汇编语言的输出。这种输出与jasmin[ ]的输出相似,但包含的是Dalvik的字节码。
2.4 resources.arsc资源文件:参考汉化部分
3/ android 软件汉化
方案1:通过16进制编码软件自行替换英文
1.JDK(Java Development Kit) -开发环境
2.Auto-Sign -签名工具
3.Hex Workshop -十六进制编辑器
4.WinRAR -压缩软件
图文并茂示例:http://bbs.blueshow.net/thread-604533-1-1.html
方案2:通过汉化开发人员自行编写的汉化软件For Android
1.JDK(Java Development Kit) -开发环境
2.Android ResEdit-汉化软件
3.WinRAR -压缩软件
图文并茂示例:http://mobile.yesky.com/363/9292863.shtml
参考文档:
Apk文件结构简介
http://www.ophonesdn.com/article/show/38
Apk文件结构、dex反编译
http://ken.opda.cn/?p=31
android 资源文件反编译
http://ken.opda.cn/?p=53
posted on 2009-12-24 01:22
Xu Jianxiang 阅读(1272)
评论(0) 编辑 收藏 所属分类:
Android