Android+APK反编译

 

Java自古以来就可以反编译,Android是基于Java开发的,自然逃不过这个命运。目前Android应用程序apk可以通过2种途径进行反编译各取所需,笔者就是通过以下方法反编译米聊,并成功山寨了其部分功能:),大家可以试试QQ之类的软件。

一.反编译Apk得到Java源代码:

1.下载工具:

dex2jar下载地址:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip

JD-GUI下载地址:

windows版JD-GUI:http://laichao.googlecode.com/files/jdgui.zip

Linux版JD-GUI:http://laichao.googlecode.com/files/jd-gui-0.3.2.linux.i686.tar.gz

2.解压apk取出classes.dex

apk本质就是一个压缩文件,所以把apk文件改名为.zip,然后解压缩其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的。

2.把classes.dex拷贝到dex2jar.bat所在目录。

windows系统下:

在命令行模式下定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex ,生成classes.dex.dex2jar.jar

Ubuntu系统下:

在终端下定位到dex2jar.sh所在目录,运行

sh dex2jar.sh classes.dex

则可生成classes.dex.dex2jar.jar

3.运行JD-GUI工具

打开上面的jar文件,即可看到源代码

 

二.反编译apk得到图片、XML配置等文件。

1.下载工具:

到code.google上下载apktool.jar以及相关文件:http://code.google.com/p/android-apktool/downloads/list

点击下载apktool-1.0.0.tar.bz2 和apktool-install-windows-2.1_r01-1.zip

2.解压apktool.jar 到 C:\Windows文件夹下

解压apktool-install-windows.zip到任意文件夹

3.点击开始菜单,运行,输入CMD回车,用cd命令转到刚刚解压apktool-install-windows所在的文件夹,输入apktool,出现一些命令说明即成功安装。

4.Apktool 命令

apktool d test.apk xxx    反编译test.apk到文件夹xxx

apktool b  test           从文件夹test重建APK

你可能感兴趣的:(android)