【Android】应用安全——反编译
用java开发最担心的就是得到反编译,所以作为开发者我们需要知道怎么反编译,那样才能知道如何防止反编译、保证代码安全。
下面来看下比较常用的方法!
第一种方式:利用apktool反编译
1,首先在
http://code.google.com/p/android-apktool/downloads/list
下载两个文件:apktool1.5.2.tar.bz2和apktool-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源码对照)如下:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。