Apktool 完全上手:3 步装好你的 Android APK 逆向工具箱 📅 发布时间:2026/9/5 17:04:29 👁 浏览次数: Apktool 完全上手3 步装好你的 Android APK 逆向工具箱【免费下载链接】ApktoolA tool for reverse engineering Android apk files项目地址: https://gitcode.com/GitHub_Trending/ap/Apktool拿到一个闭源 APK想改个字符串、补个资源却只能对着二进制发呆Apktool 把 APK 拆成可读的资源文件和 Smali 源码改完再一键打包还原。适合会一点命令行的 Android 开发者和刚接触逆向的新手5 分钟就能跑通第一个包。两分钟先跑起来 最短路径是直接从源码构建一个可执行的 jar装好 JDK 17 就能开工。下面 3 条命令依次完成拉取仓库、构建 fat jar仓库自带 Gradle wrapper不用单独装 Gradle。git clone https://gitcode.com/GitHub_Trending/ap/Apktool cd Apktool ./gradlew build shadowJar构建过程会下载依赖耐心等十几秒结束后产物落在brut/apktool/apktool-cli/build/libs/apktool-cli-all.jar。直接运行这个 jar 并打印版本号用来确认工具真的能跑java -jar brut/apktool/apktool-cli/build/libs/apktool-cli-all.jar --version你应该看到一行 Apktool 加上一串版本号的输出——看到它就通关了。后文所有操作都基于这个 jar。它到底能干什么把 APK 拆成人话改完再拼回去。解包时二进制资源表和 AndroidManifest 被还原成接近原始形态的 XML 和res/目录你可以像改普通工程一样改布局、文案重新打包后又能被 Android 正常安装。这套编解码由项目内置的资源解析与 XML 序列化器完成核心实现见 res 模块源码。Smali 代码可以逐行读、逐行改。classes.dex会被反汇编成 Smali 文本配合调试工具能一行行走 Dalvik 字节码比看反汇编友好得多背后接的是 Baksmali/Smali 工具链。把重复劳动自动化。解包出来就是标准的工程目录AndroidManifest.xml、res/、smali/重新构建时打包、资源编译这些机械步骤它替你做完你只负责改东西。解码入口在 ApkDecoder.java。分环境安装依赖项很少一张表说清依赖要求说明JDK构建需 17只是运行 jar 的话任意较新的 Java 都行Gradle无需安装仓库自带 wrapperAndroid SDK不需要纯 Java 工具不依赖核心思路各平台都一样让apktool.jar和启动脚本放在同一个目录脚本会自动找到 jar。仓库里三套脚本都在 scripts/ 下按需取用。Linux 一条软链接装好 把构建产物重命名为apktool.jar连同 Linux 启动脚本scripts/linux/apktool放进同一目录再软链到 PATHmkdir -p ~/tools/apktool cp ~/Apktool/brut/apktool/apktool-cli/build/libs/apktool-cli-all.jar ~/tools/apktool/apktool.jar cp ~/Apktool/scripts/linux/apktool ~/tools/apktool/ chmod x ~/tools/apktool/apktool sudo ln -s ~/tools/apktool/apktool /usr/local/bin/apktool执行完任意目录敲apktool都能带上同目录的 jar 启动。macOS 是 Unix 环境流程完全一致只是脚本换用 scripts/osx/apktool。Windows 两步走 在仓库根目录下把 jar 和启动脚本scripts/windows/apktool.bat拷到同一文件夹mkdir C:\tools\apktool copy brut\apktool\apktool-cli\build\libs\apktool-cli-all.jar C:\tools\apktool\apktool.jar copy scripts\windows\apktool.bat C:\tools\apktool\然后把C:\tools\apktool加入系统 PATH系统属性 → 环境变量或用set PATH%PATH%;C:\tools\apktool临时生效。之后在 cmd 里直接输入apktool即可。真实场景演示场景一把 APK 拆成可编辑工程。任务是把test.apk解包查看结构运行解码命令apktool d test.apk你应该看到当前目录下多出一个test/里面就是AndroidManifest.xml、res/、smali/三大块。扩展参数-f如果test/已存在默认会报 Directory already exists。加-f变成apktool d -f test.apk即可强制覆盖反复合解同一个包时特别顺手。场景二改完重新打包。任务是在test/里改了res/values/strings.xml后重新出包运行构建命令apktool b test你应该看到dist/目录下生成了新的test.apk可直接安装验证。扩展参数--no-res如果只动了 smali、资源没改用apktool b test --no-res跳过资源编译出包更快也避免资源二次编译引入差异。坑与排错 ⚠️command not found: apktool或提示 cant find apktool.jar。十有八九是脚本和 jar 不同目录或者忘了chmod x。用这条命令看脚本真实落点readlink -f $(which apktool)确认输出指向的那一层目录里必须躺着apktool.jar缺了就拷过去Linux 下没执行权限就补一条chmod x。构建报invalid target release: 17或运行报UnsupportedClassVersionError。都是 Java 版本问题。先确认java -version构建需要 JDK 17 以上低于这个数就升级如果系统里同时装了多个 JDK用JAVA_HOME指到 17 再重新跑./gradlew build shadowJar。Permission denied写不进 /usr/local/bin。别硬 sudo。把脚本和 jar 放到~/.local/bin把该目录加入 PATH或干脆就放在~/tools/apktool里用全路径调用效果一样还不用动系统目录。下一步 跑通第一个包之后值得花时间学的是 Smali 编辑规则和--framework对系统资源框架的处理这两块决定了你能改多深的代码。项目说明见 README.md构建与发版细节见 INTERNAL.md想读源码可以从 apktool-lib 核心模块 入手。【免费下载链接】ApktoolA tool for reverse engineering Android apk files项目地址: https://gitcode.com/GitHub_Trending/ap/Apktool创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考