Apktool 如何把 APK 拆成可编辑文件
【免费下载链接】ApktoolA tool for reverse engineering Android apk files项目地址: https://gitcode.com/GitHub_Trending/ap/Apktool
Apktool 是一个安卓 APK 逆向工具,一行命令把安装包拆成资源文件和 Smali 代码,改完再打包回 APK。装不进源码、又想知道闭源 App 里到底藏了什么?它解决的正是这个痛点。
🪪 一张名片
- 主要语言:Java
- 定位:逆向工程第三方的闭源二进制 Android 应用
- 服务对象:Android 开发者、逆向学习者、做插件与本地化的工程师
- 许可证:Apache 2.0,商用友好
- 跨平台:Windows / macOS / Linux 都能跑,官方脚本见 scripts/
📂 怎么把 APK 拆成可编辑文件
- 一键解码——
apktool d把 APK 拆成res资源目录和 Smali 代码,资源还原到接近原始形式的可读文件,改文案、换图标直接编辑即可。 - 修改后重建——
apktool b把改完的文件重新打包成可安装的 APK,签名前的完整闭环。 - 逐行调试 Smali——支持对 Smali 代码单步调试,排查"这行逻辑到底怎么走"时不用靠猜。
- 工程化文件结构——解码结果就是标准的工程目录,可以接进 CI 批量处理多个 APK,重复构建不用手敲。
🚀 更新什么:Android 17 支持与加固修复
- 新增 Android 17(API 37)支持 → 新系统打包出来的 APK 也能正常解码重建。
- 加固构建时的 Smali 目录名校验,拦截路径穿越 → 处理来路不明的 APK 时更安全,仓库还专门补了路径穿越相关测试。
- 优化
ResStringPool解析并修复resources.arsc、二进制 XML 解码慢的问题 → 大体积 APK 的解码速度明显提升。 - 修复空 raw 资源字符串编码时崩溃 → 遇到这类资源不再中途报错,解码能跑到底。
版本以仓库 Release 为准,当前主线为 3.x 分支。
✅ 谁适合用
- 想知道闭源 App 的界面文案、资源、逻辑长什么样
- 给自己的 App 或别人的插件做本地化、加功能、适配自定义 ROM
- 学习 Smali,想逐行看懂字节码是怎么跑起来的
❌ 不适合:
- 想要一键脱壳、破解或重新签名,它只做解码与重建,不做这些
- 有完整源码在手——直接改源码更快,用不着它
- 想分析自己的签名 APK 后原样上架,重建后需要自己处理签名
👉 下一步
想动手?先翻一下仓库里的 README,跟着 apktool-lib 源码 看看解码入口,再 clone 下来跑一跑apktool d试试手。
【免费下载链接】ApktoolA tool for reverse engineering Android apk files项目地址: https://gitcode.com/GitHub_Trending/ap/Apktool
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考