SZ

samael-z/jadx-headless-mcp

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

20 stars 1 forks 품질 54 트렌드 14

카지노사이트

개요

내장 (예 : 295 MB / 55 dex) , . 공식 (Streamable HTTP)을 통해 LLM 클라이언트에 32 RE 도구를 노출합니다. 이것은 . 그것은 이전 Rust-bridge 구현 (v0.x 태그 / dev 분지), 크로스 언어 브리지를 제거하고 GUI 의존성을 완전히 제거. 기존 옵션은 역설계(RE)에 적합하지 않았습니다: - (예 : jadx-ai-mcp)는 GUI 컨텍스트가 없을 때 배가됩니다. - grep-ing smali 텍스트의 위치 정보, 모든 클래스를 강제 (), 그리고 Douyin 같은 거대한 APK에, MCP 효과적으로 쓸모를 만들기. 이 프로젝트는 : 모든 APK를로드 (를 포함하여 Douyin), 모든 도구를 빠르고 안정적으로 유지, (하루는 더 이상 걸릴 수 있습니다, 한 번), 힙 안에. - ja jadx-core 및 MCP 서버는 하나의 프로세스에서 실행; MCP는 임베디드 Jetty를 통해 (deprecated SSE)를 말한다, 127.0.0.1에 바인딩.

개요(AI 번역)

English · 한국어

** 단일 처리, 헤드리스 jadx decompiler + MCP 서버** 내장 역설계 대형 안드로이드 앱(예: Douyin: 295 MB / 55 dex) 20 GB 힙, ** 모든 MCP 도구는 ~60 s**에 바인딩됩니다. 그것은 공식에 LLM 클라이언트에 32 RE 도구를 노출 Model Context Protocol (Streamable HTTP).

이것은 ** v1.0 Java 리깅**입니다. 그것은 이전 Rust-bridge 구현을 초래 ([T0]]] 태그 / dev 지점), 크로스 언어 브리지를 제거하고 GUI가 완전히 의존합니다.


내용 표

  • 왜
  • 하이라이트
  • 건축
  • 프로젝트 구조
  • 요구 사항
  • 설치 / 빌드
  • 사용
  • MCP 클라이언트 연결
  • MCP 도구
  • 대형 앱 행동 및 메모리
  • 변경 로그
  • 라이센스 및 크레딧

왜

기존 옵션은 역설계(RE)에 적합하지 않았습니다:

  • GUI-embedded plugins (예 : jadx-ai-mcp)는 GUI 컨텍스트가 없을 때 밖으로 bail - 그들은 ** 실행할 수 없습니다 헤드리스**.
  • **이어 jadx-headless-mcp ** grep-ing smali text에 의한 정보 모든 클래스를 decompiling (extremely slow), 그리고 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" } } }