美文网首页软件破解与安全
安卓逆向反编译 ——工具: Apktool 安装及使用

安卓逆向反编译 ——工具: Apktool 安装及使用

作者: HAO延WEI | 来源:发表于2020-09-20 12:50 被阅读0次

    一,安装Apktool

    1, 下载Windows 包装器脚本

    下载Windows 包装器脚本(右键单击,将链接另存为apktool.bat

    2, 下载apktool-2

    https://bitbucket.org/iBotPeaches/apktool/downloads/

    2.1, 将下载的jar重命名为 apktool.jar

    2.2,将下载文件放入指定文件夹,并添加环境变量

    2.3,进入存放目录中,验证


    二,使用apktool

    2.1命令介绍

    可以随时执行的选项。 通过 apktool或者apktool.bat实现

    -version, --version

    输出当前版本。

    -v, --verbose

    详细输出。必须作为第一个参数来使用。

    -q, --quiet

    隐藏输出,即输出不显示详细信息,必须是第一个参数来使用。

    -advance, --advanced

    提前使用输出,输出详细信息。

    空框架目录


    这些是清除框架目录时的所有选项。

    -f, --force

    强制删除目标目录。

    -p, --frame-path <DIR>

    从中加载框架文件的位置

    解码(反编译)


    这些是解码apk时的所有选项, 也就是咱么所用来反编译操作的选项。通过apktool d testapp.apk来实现,也支持apktool.bat操作方式。

    -api, --api-level <API>

    要生成的smali文件的数字api级别(默认为targetSdkVersion)

    -b, --no-debug-info

    防止baksmali写出调试信息(.local,.param,.line等)。如果您要比较来自不同版本的相同APK的smali,则首选使用。行号和调试将在版本之间发生变化,这会使DIFF报告变得很痛苦。

    -f, --force

    强制删除目标目录。尝试解码到已存在的文件夹时使用,也就是再次反编译会覆盖之前已经存在的目录文件。

    **--force-manifest- **v2.3.1****

    无论资源标志的解码如何,都强制解码AndroidManifest。

    --keep-broken-res- 高级

    如果出现“检测到无效配置标志。删除资源...”之类的错误。这意味着APK具有与Apktool可以处理的不同结构。这可能是较新的Android版本或与标准不匹配的随机APK。运行此操作将允许解码,但是您必须手动修复其中包含-ERR的文件夹。

    -m, --match-original- 用于分析

    匹配尽可能与原始文件最接近的文件,但会 阻止重建。

    -o, --output <DIR>

    apk被写入的文件夹的名称,也就是反编译后输出的指定目录。

    -p, --frame-path <DIR>

    应存储/读取框架文件的文件夹位置

    -r, --no-res

    这将阻止资源的反编译。这保持resources.arsc完整无需任何解码。如果只编辑Java(smali),那么这是更快反编译和重建的推荐操作

    -s, --no-src

    这将阻止dex文件的反汇编。这将保留apk dex文件,并在构建期间简单地移动它。如果您只是编辑资源。这是更快拆卸和组装的推荐操作

    -t, --frame-tag <TAG>

    使用通过标记的框架文件 <TAG>

    重建(编译)


    这些是构建apk时的所有选项。通过 apktool b apptest来使用。

    -a, --aapt <FILE>

    从指定的文件位置加载aapt,而不是依赖路径。PATH如果没有找到文件,则回退到加载。除非PATH引用prebuilt custom aapt。这很可能不起作用。

    -c, --copy-original

    将原始文件夹AndroidManifest.xml和META-INF文件夹复制到内置apk中。官网准备计划 弃用,可用于保持签名。

    -d, --debug

    添加debuggable="true"到AndroidManifest文件。在debug模式下打包。

    -f, --force-all

    在构建期间覆盖现有文件,重新组装resources.arsc文件和dex文件,在打包时重写已经存在的文件,强制覆盖。

    -o, --output <FILE>

    写入的apk的名称和位置,输出apk的位置和名字。

    -p, --frame-path <DIR>

    从中加载框架文件的位置,保存framework文件到指定目录。

    2.2 测试
     .\apktool.bat d .\douyin.apk
    

    相关文章

      网友评论

        本文标题:安卓逆向反编译 ——工具: Apktool 安装及使用

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