项目简介
Apktool 是 Android APK 逆向工程的标准工具,可以将 APK 解码为 Smali 汇编代码、资源文件和 Manifest 清单,方便研究人员分析和修改。最核心的是,修改完成后可以重打包(Rebuild) 回 APK 文件并签名,是唯一能完整实现「解码 → 修改 → 重打包 → 签名」全流程的开源工具。
该项目最初由 brut.all 于 2010 年创建,现由 iBotPeaches 维护。GitHub 仓库位于 github.com/iBotPeaches/Apktool,是 Android 逆向生态中不可或缺的基础设施。
GitHub 数据
| 指标 | 数据 |
|---|---|
| Stars | 24,722 |
| License | Apache-2.0 |
| 主要语言 | Java |
| 最新版本 | v3.0.2(2026-06 活跃) |
| 创建时间 | 2010 年(原版)/ iBotPeaches 维护 |
核心功能
- APK 解码(Decode):将 APK 解包为 Smali 代码、资源文件和 AndroidManifest.xml
- 重打包(Build):将修改后的 Smali/资源重新打包为 APK
- APK 签名:配合
apksigner或jarsigner完成重打包后的签名 - Smali 调试:可在 Smali 级别进行调试分析
- 框架安装:安装系统框架(framework-res.apk)以解码系统应用
- 资源反编译:将二进制 XML 反编译为可读的文本 XML
- aapt2 支持:v3.0+ 全面支持 Android 最新的资源打包工具 aapt2
- 插件机制:支持自定义插件扩展功能
技术栈
| 层次 | 技术 |
|---|---|
| 核心引擎 | Java |
| 汇编层 | Smali(Dalvik 虚拟机汇编语言) |
| 资源处理 | aapt / aapt2(Android SDK) |
安装与使用
方式一:直接下载 Jar 包
从 GitHub Releases 页面 下载最新版的 apktool.jar。
方式二:macOS 通过 Homebrew 安装
brew install apktool
方式三:Windows 下载 wrapper 脚本
从官网下载 apktool.bat 和 apktool.jar,放入同一目录即可命令行使用。
基本使用流程:
# 1. 解码 APK
apktool d target.apk -o output_dir
# 2. 修改 Smali 代码或资源文件
# vim output_dir/smali/com/example/MainActivity.smali
# 3. 重打包
apktool b output_dir -o patched.apk
# 4. 签名(需安装 Android SDK Build Tools)
apksigner sign --ks my.keystore patched.apk
# 安装系统框架(解码系统应用时需要)
apktool if framework-res.apk
适用场景
- APK 汉化与本地化修改
- APK 去广告、功能破解
- Android 安全测试(Smali 级调试与分析)
- 资源文件提取与替换
- 绕过签名校验
- Android 恶意软件分析(检查修改后的行为)
- 自动化 App 修改流水线(CI/CD 集成)
竞品对比
| 竞品 | 类型 | 特点 | 局限 |
|---|---|---|---|
| jadx | 反编译器 | 将 DEX 反编译为 Java 源码 | 不能重打包 |
| Android Studio APK Analyzer | 系统工具 | 直观查看 APK 结构 | 只读,不支持修改和重打包 |
| Bytecode Viewer | 逆向工具 | 多合一浏览反编译结果 | 偏向浏览,不适合修改重打包 |
核心优势:
- 唯一能完整实现「解码 → 修改 → 重打包 → 签名」全流程的开源工具
- 自 2010 年起持续维护超过 15 年,Android 逆向生态的基石工具
- 被 Kali Linux 等安全发行版内置,行业公认标准
- 支持最新 Android API 级别的资源格式(aapt2)
参考资料
- GitHub 仓库:https://github.com/iBotPeaches/Apktool
- 官方文档与教程:https://ibotpeaches.github.io/Apktool/
- 下载页面:https://github.com/iBotPeaches/Apktool/releases
- Smali 语法参考:https://github.com/JesusFreke/smali
文档信息
- 本文作者:zhupite
- 本文链接:https://zhupite.com/sec/apktool.html
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)