【Android】应用安全——反编译

用java开发最操心的就是得到反编译,所以作为开发人员我们须要知道怎么反编译,那样才干知道怎样防止反编译、保证代码安全。

以下来看下比較经常使用的方法!

第一种方式:利用apktool反编译

1,首先在

http://code.google.com/p/android-apktool/downloads/list

下载两个文件:apktool1.5.2.tar.bz2apktool-install-windows-r05-ibot.tar.bz2

假设google訪问不了。还提供两个国内的地址:

apktool:http://dl.vmall.com/c08jjy6n3b

ibot:http://www.vdisk.cn/down/index/13442490

2。解压第一个文件得到apktool1.5.2.jar 放到随意文件夹下, 第二个文件内包括aapt.exe和apktool.bat两个文件相同放到apktool所在的文件夹下。


3。在命令行下输入apktool能够看到一些帮助信息。

4。输入apktool d c:\***\***.apk c:\***\*** 就能够把 c:\***\***.apk 这个apk文件反编译到c:\***\*** 

 

另外一种方式:利用dex2jar反编译

首先要下载两个工具:dex2jar和JD-GUI

前者是将apk中的classes.dex转化成Jar文件。而JD-GUI是一个反编译工具,能够直接查看Jar包的源码。

下面是下载地址:

dex2jar:http://laichao.googlecode.com/files/dex2jar-0.0.7-SNAPSHOT.zip

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

详细步骤:

首先将apk文件,将后缀改为zip,解压,得到当中的classes.dex,它就是java文件编译再通过dx工具打包而成的。

解压下载的dex2jar,将classes.dex拷贝到dex2jar.bat所在文件夹。在命令行下定位到dex2jar.bat所在文件夹

执行

dex2jar.bat    classes.dex

生成

classes.dex.dex2jar.jar

生成jar文件的截图例如以下:

 

执行JD-GUI(jd-gui.exe),打开上面生成的jar包,就可以看到源码了


HelloAndroid源代码(编译前的apk源代码对比)例如以下:

 

posted on 2016-03-03 20:23  gcczhongduan  阅读(157)  评论(0编辑  收藏  举报