SZ

samael-z/jadx-headless-mcp

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

20 stars 1 forks 品質 54 トレンド 14

ログイン

概要

(例: Douyin: 295 MB/55 dex) のビルドは、 正規(Streamable HTTP)上でLLMクライアントに32 REツールを公開しています。 です。 以前の Rust ブリッジの実装 (v0.x タグ / dev ブランチ) を優先し、クロス言語ブリッジと GUI の依存を完全に削除します。 既存のオプションはリバースエンジニアリング(RE)のニーズに合わない: - (例: GUI 文脈がないとき、 jadx-ai-mcp) ベールアウトします。 - grep-ing smali テキストによって位置情報, 強制的にすべてのクラスを解読 (), そして、Douyin のような巨大な APK で , MCP を効果的に使用しない. このプロジェクトは、APK(Douyinを含む)をロードし、すべてのツールを高速かつ安定的に維持し、(読み込みが長くなる場合があります)、ヒープの内部。 - 🧩 jadx-core と MCP サーバーが 1 つのプロセスで実行されます。MCP は、組み込みの Jetty を介して (非推奨 SSE ではなく) を 127.0.0.1 にバインドします.

概要(AI 翻訳)

英語・ホテル

A 単一プロセス、ヘッドレスのjadxのデコンパイラ+ MCPサーバーのために造られる リバースエンジニアリングの大きなAndroidアプリ(例:Douyin:295 MB / 55デックス)、20 GBヒープで、 MCP ツールが ~60 s* にバインドされる LLM クライアントに 32 RE ツールを公式に公開 Model Context Protocol (Streamable HTTP) ディレクティブ。

これは v1.0 Java rewrite です。 以前の Rust ブリッジの実装 ([v0.x]) を優先します。 タグ/[dev ブランチ)、クロス言語ブリッジとGUIの依存を完全に削除します。

お問い合わせ

コンテンツの表

  • なぜ
  • ハイライト
  • 建築
  • プロジェクト構造
  • 条件
  • インストール/ビルド
  • 使用法
  • MCPクライアントの接続
  • MCPツール
  • 大規模なアプリの動作とメモリ
  • 変更ログ
  • ライセンスとクレジット

お問い合わせ

なぜ

既存のオプションはリバースエンジニアリング(RE)のニーズに合わない:

  • GUI 埋め込みプラグイン** (例: jadx-ai-mcp) GUI コンテキストがない場合、失敗 — 実行できません ヘッドレス**。
  • earlier [jadx-headless-mcp* は grep-ing smali テキスト による情報 すべてのクラスを解読 (必然的に遅い)、そしてDouyinのような巨大なAPKでは、完全に読み込むことに失敗しました**、 MCP を効果的に使用しない.

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

以下は原文 README の抜粋です。原文を見る。

jadx-headless-mcp

English · 简体中文

A single-process, headless jadx decompiler + MCP server built for reverse-engineering large Android apps (e.g. Douyin: 295 MB / 55 dex) under a 20 GB heap, with every MCP tool call bounded to ~60 s. It exposes 32 RE tools to LLM clients over the official Model Context Protocol (Streamable HTTP).

This is the v1.0 Java rewrite. It supersedes the earlier Rust-bridge implementation (the v0.x tags / dev branch), removing the cross-language bridge and the GUI dependency entirely.


Table of contents


Why

Existing options didn’t fit reverse-engineering (RE) needs:

  • GUI-embedded plugins (e.g. jadx-ai-mcp) bail out when there is no GUI context — they cannot run headless.
  • The earlier jadx-headless-mcp located information by grep-ing smali text, which forced decompiling every class (extremely slow), and on huge APKs like Douyin it failed to load fully, making the MCP effectively useless.

This project is rebuilt for RE: load any APK (including Douyin), keep all tools fast and stable, ≤ 60 s per tool call (loading may take longer, once), within 20 GB of heap.

Highlights

  • 🧩 Single JVM, no bridge, no Python. jadx-core and the MCP server run in one process; MCP speaks Streamable HTTP (not the deprecated SSE) via an embedded Jetty, bound to 127.0.0.1.
  • 🧠 Out-of-heap xref. A custom IUsageInfoCache exports jadx’s usage graph to SQLite (symbols + edges); get_xrefs_* / get_call_graph answer from SQL and never touch jadx’s in-heap getUseIn(). On Douyin that’s 4.5 M symbols / 29.5 M edges off the heap.
  • 🔎 Indexed code search. search_in_code uses an SQLite FTS5 trigram index over decompiled text (with a ripgrep fallback for full regex) — no full-corpus re-scan per query.
  • 💾 Bounded + disk code cache. A bounded in-heap LRU over a disk cache replaces jadx’s unbounded
GitHub で README 全文を見る

インストール

This server does not publish a one-line install command.

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

{ "mcpServers": { "jadx-headless": { "type": "streamable-http", "url": "http://127.0.0.1:8650/mcp" } } }