Android APK反编译详解

 转自:http://blog.csdn.net/ithomer/article/details/6727581

 前期准备:1.下载android 反编译工具包 http://pan.baidu.com/s/1pHETl (百度网盘 Android反编译工具包(升级))

 

                1)打开apk2java目录下的dex2jar-0.0.9.9文件夹,内含apk反编译成java源码工具,以及源码查看工具。

                2)apk反编译工具dex2jar,是将apk中的classes.dex转化成jar文件

 具体步骤:1.将apk后缀名改为zip,解压得到classes.dex文件,是java文件编译再通过dx工具打包形成,将classes.dex复制到反编译工具包dex2jar-0.0.9.9文件夹下,此文件下                             有dex2jar.bat反编译工具。

              2.运行windows系统命令cmd 打开dos,进入dex2jar-0.0.9.9目录下,运行 dex2jar.bat    classes.dex 命令,得到classes_dex2jar.jar文件

     3.进入dex2jar-0.0.9.9目录下jdgui文件夹,双击jdgui.exe打开classes_dex2jar.jar文件,就可以看到源代码了。

       另:上面具体步骤中的第二步生成的classes_dex2jar.jar文件,通过命令 jar xvf classes_dex2jar.jar 解压之后会发现都是以class结尾的文件,jdgui.exe能识别的也就是这些class文件。

       测试:写个经典的hello word程序 

        

public class HelloWord{
  public static void main(String args[]){
    System.out.println("hello word");  
  }
}

   文件保存为HelloWord.java  通过命令行 javac HelloWord.java 编译成为HelloWorld.class文件  通过jdgui.exe查看会发现,反编译出来的文件与源代码一模一样.......

   知识普及:JAR(Java Archive,Java 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。

原文地址:https://www.cnblogs.com/Jqxing/p/3471337.html