zoukankan      html  css  js  c++  java
  • Android APK文件的逆向反编译

    APK是Android Package的缩写,即Android安装包(APK)。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。APK文件和sis一样,把android sdk编译的工程打包成一个安装程序文件,格式为apk。

         

    APK文件其实是zip格式,但后缀名被修改为apk,通过UnZip解压后,可以看到Dex文件,Dex是Dalvik VM executes的简称,即Android Dalvik执行程序,并非Java ME的字节码而是Dalvik字节码。

         

    APK反编译就是通过使用APK反编译工具将APK文件中的源文件和资源反编译出来,得到的源文件和资源文件可以进行处理后再进行编译,以达到系统解剖分析,个性化定制,汉化等目的。

         

    APK反编译有很多工具,本次实验中我们使用dex2jar工具。dex2jar 是一个用来将 Android 的 Dalvik Executable (.dex) format 文件转成 Java 类文件的工具。该项目地址是:http://code.google.com/p/dex2jar/

         

    针对JAR包的java反编译工具,我们使用jd-gui工具。jd-gui是针对Java平台的反编译工具,它可以将Java的字节码文件(class文件)反编译获得java文件。反编译得到的代码是非常接近于源代码,但是或多或少与源代码有一些差异,这点需要使用时注意。

    实验步骤一

    文件解压     

          进入实验环境,在C盘根目录“APK逆向分析实验”文件夹下找到SD-Booster_1.5.2.apk文件。将文件重命名为zip后缀。然后使用WinRAR程序将文件解压。

    实验步骤二

    获得JAR包

          要从APK文件获得JAR包需要使用专门的工具dex2jar。dex2jar 是一个用来将 Android 的 Dalvik Executable (.dex) format 文件转成 Java 类文件的工具。

          首先在C盘根目录“APK逆向分析实验”文件夹下找到dex2jar-0.0.9.15.zip文件,将其解压。

          将APK文件解压获得的classes.dex文件放到dex2jar解压后的文件中。如下图示。

    然后在该目录下进入Windows命令行窗口。输入命令:

          d2j-dex2jar classes.dex

          执行完成后,在相同目录下得到JAR包。

    实验步骤三

    源代码分析

          要从JAR包进行源代码分析,需要使用反编译工具jd-gui。jd-gui是针对Java平台的反编译工具,它可以将Java的字节码文件(class文件)反编译获得java文件。

          首先在C盘根目录“APK逆向分析实验”文件夹下找到jd-gui文件,双击打开。将JAR包拖入jd-gui窗口,将自动对JAR包进行反编译。

          此时,你可以从jd-gui对JAR包中的文件逐个分析

     

  • 相关阅读:
    15.5.3 【Task实现细节】状态机的结构
    JavaWeb-EL的11个内置对象
    JavaWeb-EL入门
    JavaWeb-BeanUtils
    JavaWeb-JavaBean
    JavaWeb-JSP动作标签
    JavaWeb-include和taglib指令
    JavaWeb-pageContext对象
    JavaWeb-page指令
    JavaWeb-URL重写
  • 原文地址:https://www.cnblogs.com/ahacker15/p/12228873.html
Copyright © 2011-2022 走看看