local-only server
The server can only run on the client’s local machine because it depends on local resources.
⚙️ Jadx MCP 플러그인 - MCP를 통한 Claude 디컴파일러 액세스
이 프로젝트는 Java 로 작성된 Jadx 플러그인을 제공합니다. 이 플러그인은 HTTP를 통해 Jadx API를 노출하여 Claude 와 같은 MCP 클라이언트와 MCP(Model Context Protocol) 를 통해 실시간 상호작용을 가능하게 합니다. Python으로 작성된 경량 FastMCP 어댑터는 Claude와 플러그인을 연결하는 다리 역할을 합니다. 이를 통해 리버스 엔지니어링 워크플로의 지능적인 탐색 및 자동화가 가능해져, 안드로이드 앱의 AI 기반 보안 분석에 이상적입니다.
🧰 설정 지침
지엑스피1
Python 종속성 설치
🧠 Claude MCP 클라이언트 통합 설정
Claude Desktop에서 이 어댑터를 사용하려면 File
-> Settings
-> Developer
-> Edit Config
-> claude_desktop_config.json
으로 이동한 후 venv에 있는 Python 실행 파일을 가리키는 MCP 서버를 추가하고(종속성 문제를 방지하기 위해) 아래 예시에 따라 전체 어댑터 경로를 추가합니다.
윈도우:
MacOS / Linux:
설정을 편집한 후에는 Claude를 다시 시작(종료)하세요. 다시 시작하면 다음과 같습니다.
✅ 사용 흐름
plugins/
폴더에 있는 릴리스 의 최신 플러그인 JAR로 Jadx를 열거나Plugins
->install plugin
통해 로드합니다.- APK 또는 DEX 파일 로드
- (선택 사항) Jadx를 실행하여 HTTP 인터페이스 주소를 지정할 수 있습니다.기본 호스트/포트(Copy
http://localhost:8085
)를 변경하려는 경우 유용합니다.참고: 여기서 인터페이스 주소를 변경하는 경우
fastmcp_adapter.py
에서 해당 URL도 일치하도록 업데이트해야 합니다. - 클로드는 Jadx MCP 서버 도구를 감지하고 활성화합니다.
- 이제 클래스를 나열하고, 소스를 가져오고, 메서드/필드를 검사하고, 코드를 실시간으로 추출할 수 있습니다.
🧪 제공되는 도구
도구 | 설명 |
---|---|
list_all_classes | 모든 디컴파일된 클래스 이름 가져오기 |
search_class_by_name | 문자열과 일치하는 클래스 찾기 |
get_class_source | 주어진 클래스의 전체 소스를 얻으세요 |
search_method_by_name | 문자열과 일치하는 메서드 찾기 |
get_methods_of_class | 클래스의 모든 메서드 이름 나열 |
get_fields_of_class | 클래스의 모든 필드 이름 나열 |
get_method_code | 메서드에 대한 디컴파일된 코드 추출 |
🛠 개발
☕ 자바 플러그인
Java 플러그인은 다음 위치에 있습니다.
JadxPlugin
API( jadx.api.*
)를 사용하여 다음을 수행합니다.
- 디컴파일된 클래스 및 메서드 로드
- 내장된 HTTP 서버를 통해 구조화된 데이터 제공
/invoke
및/tools
엔드포인트에 응답합니다.
🚀 Gradle 작업을 통한 자동 설치
다음 Gradle 작업을 사용하면 한 단계로 플러그인을 빌드하고 설치할 수 있습니다.
jadx plugins
CLI를 사용합니다. Jadx가 설치되어 있고PATH
에 등록되어 있는지 확인하세요.
플러그인 관련 작업(제거, 활성화/비활성화)에 대해서는 plugin/build.gradle
에 있는 작업 정의를 참조하세요.
🔧 수동 설치
플러그인을 빌드하려면:
jadx plugins
CLI를 사용하여 플러그인 JAR을 설치하세요.
또는 빌드된 .jar
파일을 Jadx plugins/
폴더에 넣으세요. 일반적으로 이 폴더 ~/.jadx/plugins/
에 있습니다.
JAR을 수동으로 배치하는 경우 Jadx GUI를 통해 또는 다음을 실행하여 플러그인을 활성화해야 합니다.
Python FastMCP 어댑터
어댑터 파일은 다음과 같습니다.
Claude의 MCP 도구 호출을 실행 중인 Jadx 플러그인 서버에 대한 HTTP POST로 변환합니다. Claude를 시작하기 전에 Jadx가 열려 있는지 확인하세요.
🤝 기여하기
PR, 기능 요청, 도구 확장을 환영합니다!
이 프로젝트는 Mobile Hacking Lab 에서 관리하고 있습니다.
🧩 크레딧
This server cannot be installed
HTTP를 통해 Jadx 디컴파일러 API를 제공하는 서버로, Claude가 디컴파일된 Java/Android 코드와 상호 작용하여 클래스를 나열하고, 소스 코드를 가져오고, 메서드/필드를 검사하고, 코드를 실시간으로 추출할 수 있도록 합니다.