安卓软件的反编译

来源:互联网 发布:知乎 巴克利 张佳玮 编辑:程序博客网 时间:2024/04/30 14:14

    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 源代码查看

               上面就是反编译的步骤,希望对大家的开发学习有用。谢谢

1 0
原创粉丝点击