Skip to content

Commit 744087f

Browse files
committed
Added MCP inegration by modifiying jadx-gui, beta-v0.0.1
1 parent 5be59d0 commit 744087f

File tree

8 files changed

+127
-37
lines changed

8 files changed

+127
-37
lines changed

README.md

Lines changed: 127 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
55
> Fork of [JADX](https://github.com/skylot/jadx) with Model Context Protocol (MCP) integration for AI-powered static code analysis and real-time code review and reverse engineering tasks using Claude.
66
7-
![jadx-ai-banner.png](img.png) generated using AI tools.
7+
![jadx-ai-banner.png](docs/assets/img.png) generated using AI tools.
88

99
---
1010

@@ -14,8 +14,14 @@
1414

1515
Think: "Decompile → Context-Aware Code Review → AI Recommendations" — all in real time.
1616

17+
Watch the demo!
18+
1719
[![Watch the video](https://img.youtube.com/vi/Od86IOkkaHg/0.jpg)](https://www.youtube.com/watch?v=Od86IOkkaHg&autoplay=1)
1820

21+
It is combination of two tools:
22+
1. JADX-AI
23+
2. [JADX MCP SERVER](https://github.com/zinja-coder/jadx-mcp-server)
24+
1925
## Current MCP Tools
2026

2127
The following MCP tools are available:
@@ -86,24 +92,6 @@ The following MCP tools are available:
8692
"What package or app component does this class likely belong to?"
8793

8894
"Can you identify the Android component type (Activity, Service, etc.)?"
89-
90-
## 🔥 Why a Fork Instead of a Plugin?
91-
92-
While the plugin system in JADX is useful, it has limitations:
93-
94-
| Feature | Plugin | Fork (jadx-ai) ✅ |
95-
|-----------------------------------------------|--------|-------------------|
96-
| GUI manipulation |||
97-
| Export live GUI context to LLM |||
98-
| Auto-save project for analysis |||
99-
| Integrate MCP HTTP server inside JADX it self |||
100-
101-
This fork allows total control over the GUI and internal project model to support deeper LLM integration, including:
102-
103-
- Exporting selected class to MCP
104-
- Running automated Claude analysis
105-
- Receiving back suggestions inline
106-
10795
---
10896

10997
## 📦 Features (v0.0.1-beta)
@@ -126,45 +114,127 @@ This is a **developer beta** — designed for reverse engineers, AI researchers,
126114
# 1. Unzip the jadx-ai-beta-v.0.0.1.zip
127115
unzip jadx-ai-<version>.zip
128116

117+
jadx-mcp-server/
118+
├── jadx_mcp.py
119+
├── requirements.txt
120+
├── README.md
121+
├── LICENSE
122+
jadx-ai/
123+
├── bin/
124+
├──jadx
125+
├──jadx.bat
126+
├──jadx-gui
127+
├──jadx-gui.bat
128+
├── lib/
129+
├──jadx-v0.0.1-all.jar
130+
├── README.md
131+
├── LICENSE
132+
129133
# 2. cd to jadx-ai directory
130134
cd jadx-ai-<version>
131135

132-
# 3. Make it executable
136+
# 3. Make it executable (optional if not executable)
133137
sudo chmod +x ./bin/jadx-gui
134138
sudo chmod +x ./bin/jadx
135139

136140
# 3. Execute the jadg-gui
137141
./bin/jadx-gui
138142

139-
# Report any error and issue at this repo
143+
# 4. Navigate to jadx_mcp_server directory
144+
cd jadx_mcp_server
145+
146+
# 5. This project uses uv - https://github.com/astral-sh/uv instead of pip for dependency management.
147+
## a. Install uv (if you dont have it yet)
148+
curl -LsSf https://astral.sh/uv/install.sh | sh
149+
## b. Set up the environment
150+
uv venv
151+
source .venv/bin/activate # or .venv\Scripts\activate on Windows
152+
## c. Install dependencies
153+
uv pip install httpx fastmcp
154+
155+
# The setup for jadx-ai and jadx_mcp_server is done.
140156
```
141157

142-
### 2. Clone and Build
158+
## 🤖 2. Claude Desktop Setup
159+
160+
Make sure Claude Desktop is running with MCP enabled.
161+
162+
For instance, I have used following for Kali Linux: https://github.com/aaddrick/claude-desktop-debian
143163

164+
Configure and add MCP server to LLM file:
144165
```bash
145-
# 1. Clone this repo
146-
git clone https://github.com/zinja-coder/jadx-ai.git
147-
cd jadx-ai
148-
./gradlew dist
166+
nano ~/.config/Claude/claude_desktop_config.json
167+
```
168+
And following content in it:
169+
```json
170+
{
171+
"mcpServers": {
172+
"jadx-mcp-server": {
173+
"command": "/home/<YOUR_USERNAME/.local/bin/uv",
174+
"args": [
175+
"--directory",
176+
"</PATH/TO/>jadx_mcp_server/",
177+
"run",
178+
"jadx_mcp.py"
179+
]
180+
}
181+
}
182+
}
183+
```
184+
185+
Then, navigate code and interact via real-time code review prompts using the built-in integration.
186+
187+
## Give it a shot
188+
189+
1. Run jadx-gui and load any .apk file
190+
191+
![img_1.png](docs/assets/img_1.png)
192+
193+
2. Start claude - You must see hammer symbol
149194

150-
# Output can be found at:
195+
![img2.png](docs/assets/img2.png)
151196

152-
jadx/build/jadx/bin/
197+
3. Click on the `hammer` symbol and you should you see somthing like following:
153198

154-
# 2. You can run it with:
199+
![img3.png](docs/assets/img3.png)
155200

156-
./jadx-gui
201+
4. Run following prompt:
202+
```text
203+
fetch currently selected class and perform quick sast on it
157204
```
205+
![img4.png](docs/assets/img4.png)
158206

159-
## 🤖 Claude Desktop Setup
207+
5. Allow access when prompted:
160208

161-
Make sure Claude Desktop is running with MCP enabled.
209+
![img_1.png](docs/assets/img5.png)
162210

163-
For instance, I have used following for Kali Linux: https://github.com/aaddrick/claude-desktop-debian
211+
6. HACK!
164212

165-
Then, navigate code and interact via real-time code review prompts using the built-in integration.
213+
![img_2.png](docs/assets/img6.png)
214+
215+
216+
## 🔥 Why a Fork Instead of a Plugin?
217+
218+
While the plugin system in JADX is useful, it has limitations:
219+
220+
| Feature | Plugin | Fork (jadx-ai) ✅ |
221+
|-----------------------------------------------|--------|-------------------|
222+
| GUI manipulation |||
223+
| Export live GUI context to LLM |||
224+
| Auto-save project for analysis |||
225+
| Integrate MCP HTTP server inside JADX it self |||
226+
227+
I am planning to support real-time GUI access well that's why I used fork. (well that's a for future)
166228

167-
# 🧠 Future Roadmap
229+
This fork allows total control over the GUI and internal project model to support deeper LLM integration, including:
230+
231+
- Exporting selected class to MCP
232+
- Running automated Claude analysis
233+
- Receiving back suggestions inline
234+
235+
---
236+
237+
## 🛣️ Future Roadmap
168238

169239
- AI-assisted vulnerability scanning (auto-SAST)
170240

@@ -176,16 +246,36 @@ Then, navigate code and interact via real-time code review prompts using the bui
176246

177247
- Perform reverse engieering tasks using LLM
178248

179-
# 🙏 Credits
249+
- Make LLM be able to modify code on JADX
250+
251+
## 🙏 Credits
180252

181253
This project is a fork of the original JADX, an amazing open-source Android decompiler created and maintained by [@skylot](https://github.com/skylot). All core decompilation logic belongs to them. I have only extended it to support my MCP server with AI capabilities.
182254

183255
[📎 Original README (JADX)](https://github.com/skylot/jadx)
184256

185257
The original README.md from jadx is included here in this repository for reference and credit.
186258

187-
# 🧪 License
259+
This MCP server is made possible by the extensibility of JADX-GUI and the amazing Android reverse engineering community.
260+
261+
Also huge thanks to [@aaddrick](https://github.com/aaddrick) for developing Claude desktop for Debian based linux.
262+
263+
## 📄 License
188264

189265
This fork inherits the Apache 2.0 License from the original JADX repository.
190266

267+
## ⚖️ Legal Warning
268+
269+
**Disclaimer**
270+
271+
The tools `jadx-ai` and `jadx_mcp_server` are intended strictly for educational, research, and ethical security assessment purposes. They are provided "as-is" without any warranties, expressed or implied. Users are solely responsible for ensuring that their use of these tools complies with all applicable laws, regulations, and ethical guidelines.
272+
273+
By using `jadx-ai` or `jadx_mcp_server`, you agree to use them only in environments you are authorized to test, such as applications you own or have explicit permission to analyze. Any misuse of these tools for unauthorized reverse engineering, infringement of intellectual property rights, or malicious activity is strictly prohibited.
274+
275+
The developers of `jadx-ai` and `jadx_mcp_server` shall not be held liable for any damage, data loss, legal consequences, or other consequences resulting from the use or misuse of these tools. Users assume full responsibility for their actions and any impact caused by their usage.
276+
277+
Use responsibly. Respect intellectual property. Follow ethical hacking practices.
278+
279+
---
280+
191281
Built with ❤️ for the reverse engineering and AI communities.
File renamed without changes.

docs/assets/img2.png

22.7 KB
Loading

docs/assets/img3.png

69.9 KB
Loading

docs/assets/img4.png

23 KB
Loading

docs/assets/img5.png

19.8 KB
Loading

docs/assets/img6.png

93.6 KB
Loading

docs/assets/img_1.png

219 KB
Loading

0 commit comments

Comments
 (0)