android apk 源码 的 破译(反编译)
移动开发对美工要求很高,我们作为个人移动应用开发人员。没有太多时间去设计和优化布局。所以借鉴大公司的布局和UI资源成了我们的一种手段。android apk大部分采用java编程。一下借鉴别人的博客内容。家加上查看的其他几家的apk反编译的源码。
本文Android反编译教程,测试环境:
Win7 Ultimate x64
一、Apk反编译得到Java源代码
下载上述反编译工具包,打开apk2java目录下的dex2jar-0.0.9.15文件夹,内含apk反编译成java源码工具,以及源码查看工具。
apk反编译工具dex2jar,是将apk中的classes.dex转化成jar文件
源码查看工具jdgui,是一个反编译工具,可以直接查看反编译后的jar包源代码
dex2jar 和 jdgui 最新版本下载,分别见google code:
dex2jar(google code)
jdgui(google code),最新版本请见 官方
具体步骤:
首先将apk文件后缀改为zip并解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的,将classes.dex复制到dex2jar.bat所在目录dex2jar-0.0.9.15文件夹。
在命令行下定位到dex2jar.bat所在目录,运行
dex2jar.bat classes.dex
生成
classes_dex2jar.jar
然后,进入jdgui文件夹双击jd-gui.exe,打开上面生成的jar包classes_dex2jar.jar,即可看到源代码了,如下图:
二、apk反编译生成程序的源代码和图片、XML配置、语言资源等文件
如果是汉化软件,这将特别有用
首先还是要下载上述反编译工具包,其中最新的apktool,请到google code下载
apktool(google code)
具体步骤:
下载上述反编译工具包,打开apk2java目录下的apktool1.4.1文件夹,内含三个文件:aapt.exe,apktool.bat,apktool.jar
注:里面的apktool_bk.jar是备份的老版本,最好用最新的apktool.jar
在命令行下定位到apktool.bat文件夹,输入以下命令:apktool.bat d -f ikam.apk ikam,如下图:
所有布局文件和图片资源都可以查看到啦。
二、将Activity中的十进制转换为16进制查看资源
有人问在public里面的中的十六进制id 的作用,这个是android在java类中使用十进制对id进行编码。关联到public中。如下图中的TextView的Id :2131100192
二进制转换:下图十六进制就是我们需要的数字 十六进制:7f060220
知道对应的id就可以在布局文件中找到
更多相关文章
- Android(安卓)NDK开发初识
- Android(安卓)Studio下通过Gradle配置实现资源文件的模块化
- Android(安卓)生成 keystore签名文件
- 如何在程序中获取系统语言及修改Value-的语言
- Android播放在线音频问题,报错MediaPlayer error
- android studio中的build.gradle文件
- 应用程序的目录结构解析
- Android(安卓)中自定义View的应用(三)
- 深入理解java中的package关键字