
DexSQL
org.lsposed由 lsposed.org 發布v0.1.1更新於 Oct 25, 2026
SQL for Android APK and DEX files: classes, methods, strings, references and smali.
概覽
一個本機 MCP 伺服器,讓助理用 SQL 查詢 Android APK 與 DEX 檔案,檢查類別、方法、字串、參照與 smali。
- 可以做什麼
- 用 SQL 查詢 APK 與 DEX 檔案中的類別與方法,支援跨多個檔案的複合條件。尋找字串及其參照方法,並追蹤直接與兩跳呼叫者。取得符合方法對應的 smali 程式碼。透過 MCP 資源讀取伺服器的結構描述與文件。同一個執行檔也提供命令列查詢模式。
- 適用情境
- 適用於 Android 逆向工程與程式碼審查,例如定位某條日誌或 API 位址的使用位置、梳理呼叫關係,或在不使用圖形介面反編譯的情況下,對大型應用程式提出結構化問題。
- 執行需求
- 以本機程序透過 stdio 執行。從 Releases 安裝對應平台的可執行檔(macOS、x86_64 Linux、x86_64 Windows),或為 Claude Desktop 使用 mcpb 套件,然後以 mcp 參數註冊其絕對路徑。未宣告需要帳號、API 金鑰或環境變數。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 DexSQL,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
DexSQL
English | 简体中文
SQL for Android binaries.
Query classes, methods, strings, and call references in APK and DEX files. Connect it to an AI agent through MCP, or use it from the command line.
Playground · Documentation · Download · Install skill · Benchmarks
Why DexSQL?
AI agents can combine signatures, strings and call relationships in one SQL query across DEX files, returning just the structured results they need. Queries can be generated, refined and saved in scripts for reuse.
DexSQL reads DEX directly and reuses loaded datasets, supporting repeated queries with low latency and a small memory footprint. See the benchmarks for measurements.
The built-in MCP server connects directly to agents, with no GUI required.
Use with an AI agent
DexSQL is listed in the official MCP Registry as org.lsposed/dexsql. Clients that install servers from the registry can add it directly, and Claude Desktop can open the dexsql.mcpb bundle from Releases. The bundle covers macOS, x86_64 Linux and x86_64 Windows; on other platforms, use the skill or manual setup below.
Install the setup skill with the Skills CLI:
Then ask your agent to use install-dexsql to install DexSQL and configure its MCP connection. In Codex, invoke it as $install-dexsql.
The skill downloads a compatible binary from Releases, verifies its SHA-256 checksum, adds the MCP configuration, and checks the connection. It can also use a local executable. The command above installs the skill; the agent performs the actual setup when you invoke it.
Manual MCP setup
Open Releases and choose the executable or archive that matches your operating system and CPU architecture. Check the selected release's assets and notes for availability and system requirements. Extract the archive if needed, then rename the executable to dexsql.exe on Windows or dexsql on macOS/Linux. On macOS/Linux, run chmod +x /path/to/dexsql.
Save LICENSE and LICENSE-AUXILIARY from the same Release alongside the executable, then register its absolute path. For Codex:
For clients that use mcpServers JSON:
On Windows, use dexsql.exe and escape backslashes in JSON, for example "D:\\Tools\\dexsql.exe". Reload the client's MCP connection if needed. See the Codex MCP documentation for client settings.
Once connected, try:
Open
/path/to/app.apk. Find methods referencing this log message, list their callers, and show the relevant Smali.
The server provides its schema and documentation through MCP resources. APK parsing runs locally and leaves the input unchanged. The AI client's settings determine which results are sent to its model.
Performance
A real MCP session
An AI agent analyzed Douyin 40.7.0 (343 MiB, 56 DEX files) through the DexSQL MCP server. We replayed its analysis goals on DexSQL 0.1.1 and six other tools: rasc (the Rust implementation of ASC), DexDec, ddc, the JADX API, garlic and droidsaw.
Opening the APK once and answering 10 goals took 0.71 s with DexSQL, 1.69 s with rasc, 16 s with DexDec and from 75 s to 449 s with the others. DexSQL pays 0.38 s to open the APK once per session; rasc has no open but rereads the APK in every step, so a session with a single question finishes sooner with rasc. Some tools did not show all expected evidence; those misses are still under review. See the replay report for every goal, each tool's interface, the method and the harness.
Fixed queries on QQ
Eight queries run against the same QQ 9.3.55 APK, about 372 MiB: class and method lookup, string references, direct and two-hop callers, and compound predicates. The comparison includes JADX, zinja-coder's JADX-MCP, ASC, DexDec, ddc, garlic, and droidsaw.
[Process startup, preparation and first class lookup across eight tools.]
Startup time includes process launch, loading and preparation, and the first exact class lookup; values are medians of three runs. The OS file cache was not flushed.
[QQ 9.3.55: class, method-name and string-reference query times across eight tools.]
Queries use the median of nine repeats across three prepared workflows. garlic restarts MCP for each call; that cost is included. droidsaw CLI uses three separate invocations, each including loading. Each query uses one linear chart starting at zero. Bars exceeding the axis limit are clipped, marked with an arrow and labeled with their actual time. Hatched bars mean the query did not finish within 60 seconds. Gray entries explain missing comparisons.
Call chains and compound predicates
[Direct and two-hop caller queries.]
[String-and-call intersection, four-fact filtering and complex set queries.]
Direct and two-hop queries return 15 and 16 methods. Each compound query returns one method. Every completed, plotted result set is checked. The JADX native adapter reads metadata and DEX instructions directly; it does not decompile the whole APK to find references.
[Process-tree memory peaks for class lookup and all executed queries.]
Memory uses a 50 ms polling wait across the whole process tree. Light bars cover the common load-and-class-lookup workflow; dark bars cover each tool's executed cases. Summed RSS can count shared pages more than once. Private committed memory and the footprint at readiness are also recorded.
DexDec's reference cache makes its repeated caller query faster than DexSQL in this run. droidsaw's MCP rejects the input under its fixed parse budget, so its CLI is plotted. See the report for first-query and preparation times, interface differences, SQL, result hashes and reproduction scripts.
CLI
Repeat --input to query multiple files together. The same executable provides the CLI and MCP server.
License
DexSQL is closed-source software from LSPosed, licensed under the DexSQL Binary License 1.0. Personal and commercial use, integration, and binary redistribution are free under its terms.
The public installation skill, benchmark materials, and documentation use the MIT License.
Third-party materials retain their own licenses. Run dexsql extract licenses to view their notices.
來源:README.md,提交 b867cfe
工具
0版本歷史
1- v0.1.1最新Oct 18, 2026
評分
已滿足適用檢查項的 40%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分
請在儲存庫或註冊中心條目中宣告授權條款。