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 归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。