首页 > 代码库 > Mac下对APK进行反编译

Mac下对APK进行反编译

    window下进行APK的反编译非常简单,有很多集成工具,选择安装包然后就可以一健反编译得到资源文件和源码的jar,然后使用JD-GUI即可查看源码,使用文本编辑器查看资源文件等。换了MAC之后至今未发现啥给力的反编译工具,没办法,自己整理下反编译的流程,分享之
    其实,反编译工具集最终也是使用我们常用的几个组建来完成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


Mac下对APK进行反编译