您的位置:首页 > 其它

安卓软件的反编译

2016-04-12 00:28 387 查看
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。

在安卓平台如此火热,有不少开发者想要学习别人先进的开发思想,因此就不得不进行反编译,对于反编译软件,仅供学习使用

在准备反编译之前,我们需要下载工具:

1、dex2jar下载 2、jd_gui 下载

反编译的步骤有3步:

1、直接将安装包更名,文件格式从*.apk改为*.zip后直接使用解压缩软件打开就能过获取apk文件相关文件,能够查看图片文件,如下图为打开安装包之后的文件及文件夹,其作用分别为:

AndroidManifest.xml是每个APK都必须定义和包含的,它描述了应用的名字、版本、权限、引用的库文件等信息。因为xml文件都是经过压缩的,所以不可以直接打开。

res文件:res文件夹下为所有的资源文件,其中含有图片资源等。

resources.arsc文件:为编译后的二进制资源文件。

META-INF文件:META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。

classes.dex是java源码编译后生成的java字节码文件。



图 1 改apk格式为zip格式后解压得到的文件
2、将classes.dex复制到下载的dex2jar文件夹下面,然后在命令提示符输入 dex2jar.bat classes.dex,回车后能够看到如下图所示



图2 dex
接着在文件夹dex2jar下出现classes_dex2jar.jar的新文件,如下图所示



3、现在打开下载好的软件jd-gui.exe,使用这个软件打开刚才生成的jar文件,将会看到下面的效果,即安卓软件的源代码,就这样我们完成了软件的反编译,就可以学习别人的编程思想了



图3 源代码查看
上面就是反编译的步骤,希望对大家的开发学习有用。谢谢
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: