/install apk-decompiler
APK Decompiler
Android APK 逆向工程工具集,支持完整的反编译、修改和重新打包流程。
快速开始
1. 设置工具
首次使用需要下载必要工具:
cd /path/to/apk-decompiler/scripts
chmod +x setup_tools.sh
./setup_tools.sh
这会下载:
- baksmali/smali - DEX ↔ Smali 转换
- apktool - 资源解码/打包
- dex2jar - DEX → JAR 转换
- uber-apk-signer - APK 签名
2. 反编译 APK
python3 scripts/decompile.py app.apk
输出目录结构:
app-decompiled/
├── smali-out/ # Smali 源码(可编辑)
├── apktool-out/ # 解码的资源文件
│ ├── AndroidManifest.xml
│ ├── res/
│ └── assets/
└── extracted/ # 原始 APK 内容
3. 修改代码/资源
编辑相关文件:
smali-out/- 修改 Smali 代码apktool-out/AndroidManifest.xml- 修改配置apktool-out/res/values/strings.xml- 修改文本
4. 重新打包
python3 scripts/rebuild.py ./app-decompiled
输出:app-rebuilt.apk(已签名)
脚本说明
| 脚本 | 功能 |
|---|---|
setup_tools.sh |
下载并设置反编译工具 |
decompile.py |
反编译 APK |
rebuild.py |
重新打包并签名 |
analyze.py |
分析 APK 结构 |
常用命令
反编译选项
# 基本反编译
python3 decompile.py app.apk
# 同时生成 JAR(可用 jadx 查看 Java 源码)
python3 decompile.py app.apk --java
# 只解码资源
python3 decompile.py app.apk --resources-only
# 只反编译 Smali
python3 decompile.py app.apk --smali-only
分析选项
# 完整分析
python3 analyze.py app.apk
# 只看权限
python3 analyze.py app.apk --permissions
# 查看 Activities
python3 analyze.py app.apk --activities
# 查看应用类(需要先反编译)
python3 analyze.py app.apk --smali ./smali-out --classes
重新打包选项
# 打包并签名
python3 rebuild.py ./project-dir
# 只签名 APK
python3 rebuild.py ./project-dir --sign-only app.apk
# 跳过签名
python3 rebuild.py ./project-dir --no-sign
修改示例
修改字符串
- 找到字符串定义:
grep -r "原始文本" ./apktool-out/res/values/
- 编辑
strings.xml:
\x3Cstring name="app_name">新名称\x3C/string>
修改逻辑(Smali)
- 找到目标类:
find ./smali-out -name "MainActivity.smali"
- 编辑 Smali 代码:
# 修改返回值
.method public isEnabled()Z
const/4 v0, 0x1
return v0
.end method
- 参考 references/smali-syntax.md 了解 Smali 语法
修改 AndroidManifest
编辑 apktool-out/AndroidManifest.xml:
- 添加/移除权限
- 修改应用名称
- 添加 Activity
- 启用调试模式
参考 references/android-manifest.md
工具目录
设置完成后,工具存储在 ~/.apk-tools/:
~/.apk-tools/
├── baksmali.jar # DEX → Smali
├── smali.jar # Smali → DEX
├── apktool.jar # 资源解码/打包
├── dex2jar/ # DEX → JAR
└── uber-apk-signer.jar # APK 签名
可设置环境变量:
export TOOLS_DIR=/custom/path
工作流程
┌─────────────┐
│ app.apk │
└──────┬──────┘
│ decompile.py
▼
┌─────────────────────────┐
│ app-decompiled/ │
│ ├── smali-out/ │ ← 编辑 Smali 代码
│ └── apktool-out/ │ ← 编辑资源/Manifest
└──────┬──────────────────┘
│ rebuild.py
▼
┌─────────────────────┐
│ app-rebuilt.apk │
│ (已签名,可安装) │
└─────────────────────┘
注意事项
-
签名限制:重新打包后使用调试密钥签名,与原应用签名不同
- 无法覆盖安装原应用
- 需要先卸载原应用
-
完整性校验:某些应用会校验签名或文件完整性
- 需要额外处理绕过校验
-
混淆代码:ProGuard/R8 混淆后的代码:
- 类名/方法名会被重命名
- 需要手动分析理解逻辑
-
法律风险:仅供学习研究,请勿用于非法用途
环境要求
- Java 运行时 (JRE 8+)
- Python 3.6+
- unzip (通常已预装)
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install apk-decompiler - After installation, invoke the skill by name or use
/apk-decompiler - Provide required inputs per the skill's parameter spec and get structured output
What is Apk Decompiler?
Android APK 逆向工程工具集,支持反编译、修改和重新打包。使用场景:(1) 反编译 APK 查看 Smali/Java 源码 (2) 分析应用架构和权限 (3) 修改 UI 文本、功能、逻辑 (4) 重新打包并签名 APK (5) 提取字符串、权限、组件等信息。触发词:反编译 APK、逆向 Androi... It is an AI Agent Skill for Claude Code / OpenClaw, with 165 downloads so far.
How do I install Apk Decompiler?
Run "/install apk-decompiler" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Apk Decompiler free?
Yes, Apk Decompiler is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Apk Decompiler support?
Apk Decompiler is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Apk Decompiler?
It is built and maintained by tonakic (@tonakic); the current version is v1.0.0.