【Android】应用安全——反编译
2014-10-24 14:26
225 查看
用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源码对照)如下:
下面来看下比较常用的方法!
第一种方式:利用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源码对照)如下:
相关文章推荐
- 【Android】应用安全——反编译
- android安全检测工具,梆梆安全 - 防止反编译|APP安全加固|应用加固|盗版监测
- 第三方Android应用商店也有安全问题
- Android安全应用TextSecure
- android应用安全——组件通信安全(Intent)
- android应用安全——签名机制
- android应用安全——代码安全(android代码混淆)
- 大三小学期《Imail - 我邮》Android安全传输应用软件工程实践总结
- android应用安全——代码安全(android代码混淆)
- android应用安全——(数据抓包)跟踪监控android数据包
- android应用安全——(数据抓包)跟踪监控android数据包
- android应用安全——签名机制
- 【移动安全】Android APK反编译(AXMLPrinter2,smali,dex2jar.bat,jd-gui.exe,baksmali)
- Android APK反编译 && user版本push应用到系统
- Android学习札记40:关于安全退出已创建多个Activity的应用(3)
- android应用安全——组件通信安全(Intent)
- (android实战)第三方应用反编译并修改UI信息后,重新编译
- Android学习札记39:关于安全退出已创建多个Activity的应用(2)
- android手机root后的安全问题 (四) 禁止开机启动和应用失效
- android应用安全——数据安全