Mac下对APK进行反编译
其实,反编译工具集最终也是使用我们常用的几个组建来完成APK的反编译,分别是apktool:提取APK中各种资源文件,如图片、布局、各种资源等;dex2jar:将APK中classes.dex转成jar文件,查看源码。
1、apktool:提取APK中各种资源文件
apktool的基本语法为:
{your path}/sh apktool.sh d {your path}/food.apk
然后我们会在apktool.sh的目录下看到一个food文件夹,然后这里就包含了所有的资源文件。其中/res/values/public.xml中包含我们定义的各种ID资源。
下载地址:https://code.google.com/p/android-apktool/
https://code.google.com/p/android-apktool/wiki/Install
https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.0.0rc3.jar
2、dex2jar:将APK中classes.dex转成jar文件
最基本的语法:
{your path}/sh dex2jar.sh {your path}/classes.dex
这样我们就可以在classed.dex的目录下看到classes_dex2jar.jar,然后就可以使用JD-GUI打开了。
classes.dex是我们从APK中解压出来的文件。下载地址:
https://code.google.com/p/dex2jar/
https://dex2jar.googlecode.com/files/dex2jar-0.0.9.15.zip
3、JD-GUI:查看jar文件
这个工具就比较简单了,是用来查看jar文件的。dex2jar生成的jar文件就是使用此工具查看的。没想到官网也提供mac版的。大爱~另外,android studio已经集成了JD-IntelliJ(Java Decompiler Intellij Plugin),最新版本0.6。
下载地址:
http://jd.benow.ca/
http://jd.benow.ca/jd-gui/downloads/jd-gui-0.3.5.osx.i686.dmg
初始目录如下:
4、具体操作如下:
$ sh apktools/apktool.sh d food.apk // 在当前目录下生成一个food文件夹,里面为提取的资源文件 $ unzip -o -d tmpfood food.apk // 在当前目录下生成一个tmpfood文件夹,里面为解压APK得到的文件 $ sh dex2jar-0.0.9.15/dex2jar.sh tmpfood/classes.dex // 在tmpfood目录下生成一个classes_dex2jar.jar文件,这个文件就是得到的源码文件
最终得到的文件如下:
查看我们的得到的jar文件:
资源下载:
http://download.csdn.net/detail/ttdevs/8317793
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。