apk破解工具介绍与使用

时间:2024-03-10 19:30:27

 

*转载 ^_^   同时请注明原文出处:http://www.cnblogs.com/wangvsa/archive/2012/10/09/2717089.html

 

一、apktool

  1.介绍

  其主页是http://code.google.com/p/android-apktool/,这个工具可以反编译apk程序并得到

原始资源文件。我们可以利用这个工具来查看apk中的图片等资源、修改源代码并重新编译。

  由这个工具反编译后并没有得到java文件,而是得到了smali文件,在smali目录中是所有java文件

所对应的smali文件,smali相当于java的汇编语言(个人理解)。

  2.使用

  到项目主页下载文件,以linux系统为例(新建一个目录~/android/apk_crack),

下载apktool-install-linux-*和apktool-*,将两个压缩包解压得到三个文件:aapt、apktool、

apktool.jar。其中aapt是android-sdk中也带的一个工具,而我们要使用的只是apktool。

命令行中执行下面语句:

1 cd ~/android/apk_crack
2 ./apktool

  可以看到apktool的用法选项。其中常用的是d选项。举例说明,要破解demo.apk,先将demo.apk

拷贝到apktool所在目录,并执行:

1 ./apktool d demo.apk demo

  其中demo是要反编译到的目录。命令执行完后进入demo目录就会看到res目录、AndroidMainfest.xml文件等。

  由上面的工具得到smali文件,但是不方便阅读,我们可以利用下面的工具来破解得到java文件。

 

二、dex2jar及JD-GUI

  1.介绍

  dex2jar用来将.dex文件转换为.jar文件,主页为http://code.google.com/p/dex2jar/

  JD-GUI用来浏览.jar文件包含的java源文件,主页为http://java.decompiler.free.fr/?q=jdgui

  2.使用

  到两个工具主页下载相应压缩包。如我下的为:dex2jar-0.0.9.9.tar.gz和jd-gui-0.3.4.linux.i686.tar.gz。

  先解压两个压缩包到~/android/apk_crack目录:

(1)解压dex2jar-0.0.9.9.tar.gz得到dex2jar-0.0.99目录,该目录下的dex2jar.sh即为转换工具。

(2)解压jd-gui-0.3.4.linux.i686.tar.gz中的jd-gui,这是个二进制程序可直接运行,还可以集成到Nautilus文件

管理器。

  还是以demo.apk为例,直接将其打开,解压出其中的classes.dex,或者可以先重命名为demo.zip再解压

出classes.dex。然后执行命令:

1 cd ~/android/apk_crack/dex2jar-0.0.99
2 ./dex2jar.sh ../classes.dex

  可以得到classes_dex2jar.jar,这个文件就可以用jd-gui来打开并浏览了。界面如下: