如何利用apktool反编译apk
首先的知道一下几条指令的意思
1,apktool d SysteUI.apk 12意思是将SystemUI.apk解包到12文件下,12文件夹不用创建,会自动生成
2,apktool b 12打包12文件夹(将会自动把12文件夹里的修改过得APK解包后修改完后自动打包,生成resources.arsc,文件,这就是我们反编译的主要目的,当然还有其他目的,后面将会说明怎么apktool需要反编译的目的,生成的文件。
3,apktool if framework-res.apk这条语句很重要很多时候我们容易忽略这条语句导致打包不成功,这句语句的意思是,有些时候我们解包apk文件需要用framework-res.apk(framework是指系统框架。有时也会用到apktool if twframework-res.apk,同样我们只需在前面输入就行。当然得把framework-res.apk这个文件目录下。
4,apktool if twframework-res.apk,当然 twframework-res.apk也应该放在文件目录下,不如反编译Mms.apk.....会用到
知道这四条语句我们就可以进行反编译了。
已反编译SystemUI.apk为例,,下面开始讲解
现在cmd下输入apktool if framework-res.apk(并把framework-res.apk放在文件目录下)apktool if twframework-res.apk( twframework-res.apk也应该放在文件目录下)其实这两部就是搭建安卓系统环境,输入完后在解包,apktool d SystemUI.apk 12就行了
如何用apktool提取源代码
准备的工具除了jdk还有以下内容(在Google官网都有):
把apktool-install-windows-2.1_r01-1.zip,dex2jar-0.0.7-SNAPSHOT.zip解压到一个盘的根目录下(这里我选择H盘),同时把AXMLPrinter2.jar,apktool.jar和你想解包的apk软件也放在同一个目录下,然后“运行--cmd”打开控制台,输入cd/d h:/进入H盘的根目录然后输入以下内容(控制台不要关,为了后面方便):
其中apktool.jar是解包工具,d表示解包,memo.apk是我要解包的软件,memo表示解包后输出到这个文件夹,等待片刻,就会生成memo文件夹,打开里面会有res文件夹下的所有文件和AndroidManifest.xml,用记事本就可以查看了。
以上是获得.xml文件和图片,下面获得里面的.java源代码:
用winRar或者好压打开memo.apk,截图如下:
把里面的classes.dex文件解压到H盘根目录下,然后重新打开控制台,输入dex2jar.bat classes.dex
得到一个名为classes.dex.dex2jar.jar的文件,此时用jd-gui.exe打开classes.dex.dex2jar.jar就可以看到所有源代码了!
如果想把反编译好的文件变回apk文件,只要在控制台输入
apktool.jar b memo就可以了
其中b就是重新封包的意思,memo是你刚才解包出来的文件夹,前提是确保所有文件都在memo文件夹里!!
apk反编译工具怎么使用
反编译apk工具使用最广泛的就是apktool,这里先说一下整个流程用到的工具有:
1.apktool,下载后拿到apktool.bat和apktool.jar,然后把这两个工具放到C:\Windows底下。这个工具的作用主要是得到apk的资源文件和配置文件
2.dex2jar下载这个工具解压后放到任意盘都可以,后面主要用这个根据apk的classes.dev文件生成供jd-gui工具解析的jar。
3.jd-gui上一步提到其作用,和2一样,也是下载后放到任意盘即可,到时候只要运行jd-gui.exe打开上一步生成的jar即可查看源码,下面对这个工具不再赘述
下面详细说一下前面两个工具类的详细用法:
先说apktool的用法:
1.下载后拿到apktool.bat和apktool.jar,然后把这两个工具放到C:\Windows底下
2.cmd打开后默认是你的计算机,默认的不用改,直接输入apktool,如果出现如下图的效果,即表示准备已就绪
接下来,apktool d f:\app-debug.apk f:\app像这样输入,这里的f:\app-debug.apk是你的将要被反编译的apk的绝对路径,后面的f:\app是apk反编译后资源文件将要放入的文件夹,不需要事先新建好,在这里写好就行了,输入完回车,如果成功的话,即可在文件夹中看到资源文件,这里apktool的流程算完了。
接下来说一下第二个工具,dex2jar的使用流程:
1.把你将要反编译的apk的扩展名改成压缩包的扩展名(rar\zip等),然后对其解压,找到classes.dev文件,将之**后贴到dex2jar底下,效果如如下:
接下来又要写命令了,同样cmd,然后转换到你的dex2jar目录,然后输入dex2jar.bat classes.dev,然后回车即可在dex2jar.目录中看到一个classes_dex2jar.jar。好了,完了,贴图
得到classes_dex2jar.jar了,前面说了jd-gui的作用了,直接打开这个就行了,得到的就是源代码了
上图
文章到此结束,如果本次分享的apktool和apktool m汉化版的问题解决了您的问题,那么我们由衷的感到高兴!
专题推荐:
