美文网首页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