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,即可看到源代码了,如下图:
android apk 源码 的 破译(反编译)_第1张图片

二、apk反编译生成程序的源代码和图片、XML配置、语言资源等文件

如果是汉化软件,这将特别有用

首先还是要下载上述反编译工具包,其中最新的apktool,请到google code下载

apktool(google code)

 

具体步骤:

下载上述反编译工具包,打开apk2java目录下的apktool1.4.1文件夹,内含三个文件:aapt.exeapktool.batapktool.jar 

注:里面的apktool_bk.jar是备份的老版本,最好用最新的apktool.jar

 

在命令行下定位到apktool.bat文件夹,输入以下命令:apktool.bat  d  -f   ikam.apk   ikam,如下图:


android apk 源码 的 破译(反编译)_第2张图片
 所有布局文件和图片资源都可以查看到啦。


android apk 源码 的 破译(反编译)_第3张图片
 
 

二、将Activity中的十进制转换为16进制查看资源

     有人问在public里面的中的十六进制id 的作用,这个是android在java类中使用十进制对id进行编码。关联到public中。如下图中的TextView的Id :2131100192

android apk 源码 的 破译(反编译)_第4张图片
 
 二进制转换:下图十六进制就是我们需要的数字  十六进制:7f060220


android apk 源码 的 破译(反编译)_第5张图片
 知道对应的id就可以在布局文件中找到

 

你可能感兴趣的:(Android手机常见问题解答,Android基础框架,android,反编译,android反编译)