【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源码对照)如下:

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。