美文网首页Android 反编译
Android-Apktool 反编译工具的使用

Android-Apktool 反编译工具的使用

作者: Klany | 来源:发表于2020-06-14 15:11 被阅读0次

Android-Apktool 反编译工具的使用
Android-dex2jar 反编译工具的使用

1. Apktool 介绍

Apktool 是一个对 Android Apk 文件的反编译工具,它可以将 Apk 文件中的 Java 源代码反编译成 smali 文件,将 Apk 文件中的 resource 资源文件还原成源码状态。它还可以对它反编译以后的文件进行重编译打包。

2. Apktool 的安装(以 Windows 为例)

Apktool 下载: https://ibotpeaches.github.io/Apktool/install/

  1. 下载 apktool.bat 和 apktool.2.4.1.jar 两个文件。
    注意:下载 apktool.bat 时,是选中 "wrapper script" 再按鼠标右键选择 "链接另存为"。
  2. 将这两个文件放到同一个文件夹下,并将 apktool.2.4.1.jar 重命名成 apktool.jar。
  3. 将该文件夹的路径配置到 PATH 环境变量中去。
  4. 打开命令行窗口,输入 apktool 后按回车键,如果输出如下图信息,则表示安装成功。
输入 apktool 命令.png

3. Apktool 反编译

3.1. Apktool 命令
  • -advance: 反编译时输出更详细的信息。
  • -version: 查看 apktool 版本号。
3.2. Apktool 反编译命令
apktool d <apkFilePath> -o <outputDir>

apktool d(decode) 开头表示反编译。apktool b(build) 开头表示重编译打包。

参数:

  • apkFilePath: Apk 文件路径。
  • outputDir: 反编译以后的文件输出路径。

示例: apktool d D:\apk\app.apk -o D:\apk\app

Apktool 反编译命令.png
3.3. Apktool 反编译命令选项说明
  • -o: 设置反编译以后的文件输出路径。
  • -f: 强制删除反编译以后的文件输出路径。
  • -p: 指定 framework 文件储存的位置。
  • -r: 不反编译 resource 资源文件,不修改 resources.arsc,如果只反编译 Java 源代码文件(smail),建议使用该选项。
  • -s: 不反编译 dex 文件,在 build 时仅仅移动 classes.dex,若需要快速打包,建议使用该选项。
  • -t: 给生成的 framework 文件设置标签。

4. Apktool 重编译打包

4.1. Apktool 重编译打包命令
apktool b <outputDir> -o <apkName>

参数:

  • outputDir: 反编译以后的文件输出文件夹路径。
  • apkName: 重编译打包后的 Apk 文件名称。

示例: apktool b D:\apk\app -o D:\apk\app2.apk

Apktool 重编译打包.png
4.2. Apktool 重编译打包命令选项说明
  • -o:输出 apk 文件的路径和名字。
  • -f:在打包时重写已经存在的文件,强制覆盖。
  • -p:保存 framework 文件到指定目录。

参考: https://www.cnblogs.com/mliangchen/p/5084961.html

相关文章

网友评论

    本文标题:Android-Apktool 反编译工具的使用

    本文链接:https://www.haomeiwen.com/subject/enbxxktx.html