dex-android-unpack
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ADB_PATH | No | Path to the adb executable (only needed if adb is not on PATH). | adb |
| DEX_OUT_DIR | No | Default output directory for unpacked dumps. | <cwd>/unpack-output |
| BAKSMALI_JAR | No | Path to the baksmali jar file; auto-discovered under tools/ if not set. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_devicesA | 列出当前通过 ADB 连接的安卓设备及其状态。 |
| list_packagesB | 列出设备上已安装的应用包名,可用关键字过滤。 |
| detect_packerA | 识别 APK 是否被加固及加固厂商(360/腾讯/梆梆/爱加密等)。可传本地 apkPath,或传 pkg 自动从设备拉取后检测。 |
| pull_apkC | 从设备拉取已安装应用的 APK(含 split)到本机。 |
| static_unpackB | 静态解包:解压 APK 提取所有 classes*.dex。可传 apkPath 或 pkg(自动拉取)。加固 APK 得到的是壳 dex。 |
| frida_prepareB | root 方案准备:推送并启动 frida-server(默认 tools/frida-server,需 Magisk/su)。 |
| frida_unpackB | root 方案:用 frida-dexdump 从内存 dump 已解密 dex。需设备已 root + frida-server 运行 + 本机安装 frida-dexdump。 |
| dex_to_smaliC | 把 dex 反编译为 smali。dexInput 可为单个 .dex 文件或包含多个 dex 的目录(如脱壳输出目录)。 |
| smali_list_classesC | 列出 smali 目录下所有类名,可用关键字过滤。 |
| smali_read_classC | 读取指定类的 smali 源码。className 支持 com.foo.Bar 或 com/foo/Bar。 |
| smali_searchA | 在 smali 目录中按正则搜索内容(用于分析 API 调用、字符串、加解密、权限等)。返回 文件:行号 命中。 |
| blackdex_prepareB | 免 root 方案第一步:在设备安装并启动 BlackDex(需提供其 APK 路径)。随后在设备上选目标应用脱壳。 |
| blackdex_pullB | 免 root 方案第二步:把 BlackDex 脱壳 dump 出的 dex 从设备拉回本机。 |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 13 tools
Each tool has a distinct, clearly bounded purpose: device/package listing, packer detection, APK pulling, and three separate unpacking pipelines (static, root-frida, no-root BlackDex) plus smali analysis. The prepare/action pairs (frida_prepare/frida_unpack, blackdex_prepare/blackdex_pull) are explicitly differentiated and cannot be easily confused.
Mostly consistent snake_case verb_noun with descriptive prefixes (frida_*, blackdex_*, smali_*). Minor deviation: some tools prefix the domain (smali_list_classes) while others use the plain action (list_packages, list_devices), and dex_to_smali mixes a to_ connector, but the pattern remains readable and predictable.
13 tools is well within the ideal range and each tool earns its place by covering a distinct workflow step. No redundant or filler tools; the count precisely matches the multi-method unpacking domain.
Strong lifecycle coverage: enumerate devices/packages, detect packers, pull APKs, run all three unpacking methods, and analyze results via smali listing/reading/searching. Minor gaps exist (e.g. no Java decompilation or output cleanup), but core end-to-end workflows are fully covered.