Skip to main content
Glama

apktool-mcp-server (часть пакета Zin's Reverse Engineering MCP Suite)

⚡ Полностью автоматизированный сервер MCP, созданный на основе apktool для анализа APK-файлов Android с использованием LLM, таких как Claude, — выявляйте уязвимости, анализируйте манифесты и выполняйте обратную разработку без особых усилий.

Участники GitHub apktool-mcp-serverGitHub все релизыРелиз GitHub (последний от SemVer)Последний релизПитон 3.10+ Лицензия

Изображение создано с использованием инструментов искусственного интеллекта.


🤖 Что такое apktool-mcp-server?

apktool-mcp-server — это MCP-сервер для Apk Tool , который напрямую интегрируется с Model Context Protocol (MCP) для обеспечения поддержки обратного проектирования в реальном времени с помощью LLM, таких как Claude .

Подумайте: «Декомпиляция → Контекстно-зависимый анализ кода → Рекомендации ИИ» — все в режиме реального времени.

Посмотрите демо!

https://github.com/user-attachments/assets/d50251b8-6b1c-4341-b18e-ae54eb24a847

  • Решение CTF

https://github.com/user-attachments/assets/c783a604-a636-4e70-9fa8-37e3d219b20b

Related MCP server: Android source code

Другие проекты в Zin MCP Suite

Текущие инструменты MCP

Доступны следующие инструменты MCP:

  • build_apk() — сборка APK из декодированного проекта APKTool.

  • get_manifest() — Получить содержимое AndroidManifest.xml из декодированного проекта APK.

  • get_apktool_yml() — Получить информацию apktool.yml из декодированного проекта APK.

  • list_smali_directories() — Список всех каталогов smali в проекте.

  • list_smali_files() — список файлов smali в определенном каталоге smali, опционально отфильтрованных по префиксу пакета.

  • get_smali_file() — Получить содержимое определенного smali-файла по имени класса.

  • modify_smali_file() — Изменить содержимое определенного smali-файла.

  • list_resources() — список ресурсов в проекте, при необходимости отфильтрованный по типу ресурса.

  • get_resource_file() — Получить содержимое определенного файла ресурсов.

  • modify_resource_file() — Изменить содержимое определенного файла ресурсов.

  • search_in_file() — Поиск шаблона в файлах с указанными расширениями.

  • clean_project() — Очистка каталога проекта для подготовки к пересборке.

  • decode_apk() — декодирует APK-файл с помощью APKTool, извлекая ресурсы и smali-код.


🗒️ Примеры подсказок

🔍 Базовое понимание кода

  • «Вывести список всех каталогов smali для проекта dvac».

  • «Покажите мне все файлы smali в пакете с префиксом com.vulnerable.component в проекте dvac».

  • «Получите smali-код для класса com.vulnerable.component.MainActivity».

  • «Сравните MainActivity.smali с предыдущей версией и покажите различия».

  • «Поиск использования startActivity в smali-файлах проекта dvac».

🛡️ Обнаружение уязвимостей

  • «Проанализируйте объявленные разрешения в dvac AndroidManifest.xml и отметьте опасные».

  • «Поиск жестко закодированных URL-адресов или IP-адресов во всех файлах .xml и .smali в проекте».

  • «Найти все случаи использования PendingIntent.getActivity в файлах smali».

  • «Проверьте наличие экспортированных действий или приемников в AndroidManifest.xml dvac».

  • «Вывести список всех файлов smali, которые имеют доступ к android.permission.SEND_SMS или READ_CONTACTS».

🛠️ Помощники обратного инжиниринга

  • «Расшифруйте этот APK: dvac.apk и создайте проект с именем dvac».

  • «Создайте новый проект APKTool под названием test-harness».

  • «Очистите проект DVAC перед перестройкой».

  • «Извлечь файлы DEX из проекта dvac для внешнего анализа».

  • «Измените MainActivity.smali, чтобы вставить строку журнала в начало onCreate()».

📦 Статический анализ

  • «Получить полный AndroidManifest.xml из проекта dvac».

  • «Показать содержимое apktool.yml для проекта dvac».

  • «Вывести список всех файлов ресурсов типа layout».

  • «Поиск слова пароль во всех файлах ресурсов и smali».

  • «Проверьте, какие разрешения используются, и сравните их с типичными рисками чрезмерного предоставления прав».

🤖 Модификация кода ИИ

  • «Измените метод onCreate() в MainActivity.smali, чтобы добавить всплывающее сообщение».

  • «Замените все ссылки http:// на https:// в strings.xml».

  • «Добавьте атрибут android:exported=false ко всем действиям в AndroidManifest.xml».

  • «Исправьте метод validateLogin в LoginManager.smali, чтобы он всегда возвращал значение true».

  • «Добавьте операторы регистрации в каждый метод в MainActivity.smali».

📄 Документация и метаданные

  • «Вывести список всех декодированных проектов APKTool в рабочей области».

  • «Покажите мне конфигурацию apktool.yml, чтобы просмотреть версию, исходные метаданные APK и настройки сжатия».

  • «Подключите все доступные устройства Android через ADB. (Для миграции на сервер ADB MCP.)»

  • «Получить метаданные о проекте dvac из его apktool.yml».

  • «Проверьте, какая версия APKTool в данный момент установлена на сервере».


🛠️ Начало работы

1. Скачать с Releases: https://github.com/zinja-coder/apktool-mcp-server/releases

# 0. Download the apktool-mcp-server-<version>.zip https://github.com/zinja-coder/apktool-mcp-server/releases # 1. unzip apktool-mcp-server-<version>.zip ├apktool-mcp-server/ ├── apktool_mcp_server.py ├── requirements.txt ├── README.md ├── LICENSE # 2. Navigate to apktool-mcp-server directory cd apktool-mcp-server # 3. This project uses uv - https://github.com/astral-sh/uv instead of pip for dependency management. ## a. Install uv (if you dont have it yet) curl -LsSf https://astral.sh/uv/install.sh | sh ## b. OPTIONAL, if for any reasons, you get dependecy errors in apktool-mcp-server, Set up the environment uv venv source .venv/bin/activate # or .venv\Scripts\activate on Windows ## c. OPTIONAL Install dependencies uv pip install httpx fastmcp # The setup for apktool-mcp-server is done.

2. Запуск на локальном LLM с использованием Ollama и Zin MCP Client — рекомендуется

⚡ Легкий, быстрый, простой клиент MCP на основе CLI для серверов STDIO MCP, который заполнит пробел и обеспечит мост между вашими локальными LLM, работающими под управлением Ollama, и серверами MCP.

Проверьте сейчас: https://github.com/zinja-coder/zin-mcp-client

Демо: Скоро...

🤖 3. Настройка рабочего стола Клода

Убедитесь, что Claude Desktop работает с включенным MCP.

Например, я использовал следующее для Kali Linux: https://github.com/aaddrick/claude-desktop-debian

Настройте и добавьте сервер MCP в файл LLM:

nano ~/.config/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

И следующее содержание в нем:

{ "mcpServers": { "apktool-mcp-server": { "command": "/<path>/<to>/uv", "args": [ "--directory", "</PATH/TO/>apktool-mcp-server/", "run", "apktool_mcp_server.py" ] } } }

Заменять:

  • path/to/uv на фактический путь к вашему исполняемому файлу uv

  • path/to/apktool-mcp-server на абсолютный путь к месту, куда вы клонировали этот репозиторий

Затем перемещайтесь по коду и взаимодействуйте с помощью подсказок по проверке кода в реальном времени, используя встроенную интеграцию.

Для сообщения об ошибках, проблемах, предложений функций, проблем с производительностью, общих вопросов, проблем с документацией.

  • Пожалуйста, откройте тему с соответствующим шаблоном.

  • Протестировано на Claude Desktop Client, поддержка других ИИ будет протестирована в ближайшее время!

🙏 Кредиты

Этот проект представляет собой MCP-сервер для Apktool , потрясающего инструмента обратной разработки Android с открытым исходным кодом, созданного и поддерживаемого @iBotPeaches . Вся основная логика декодирования APK и обработки ресурсов принадлежит им. Я только расширил его для поддержки моего MCP-сервера с возможностями ИИ.

📎 Оригинальный README (Apktool)

Оригинальный файл README.md от Apktool включен в этот репозиторий для справки и указания авторства.

Также огромное спасибо @aaddrick за разработку Claude Desktop для Linux на базе Debian.

И наконец, спасибо @anthropics за разработку Model Context Protocol и команде @FastMCP .

И все разработчики и участники проектов с открытым исходным кодом, которые предоставляют библиотеки и зависимости, делающие возможным такой проект.

📄 Лицензия

apktool-mcp-server и все связанные с ним проекты наследуют Apache 2.0

⚖️ Юридическое предупреждение

Отказ от ответственности

Инструменты apktool-mcp-server и все связанные инструменты в рамках этого проекта предназначены исключительно для образовательных, исследовательских целей и целей оценки этической безопасности. Они предоставляются «как есть» без каких-либо гарантий, явных или подразумеваемых. Пользователи несут исключительную ответственность за обеспечение того, чтобы их использование этих инструментов соответствовало всем применимым законам, правилам и этическим нормам.

Используя apktool-mcp-server , вы соглашаетесь использовать их только в средах, которые вы авторизованы для тестирования, например, в приложениях, которыми вы владеете или у вас есть явное разрешение на анализ. Любое ненадлежащее использование этих инструментов для несанкционированного обратного проектирования, нарушения прав интеллектуальной собственности или вредоносной деятельности строго запрещено.

Разработчики apktool-mcp-server не несут ответственности за любой ущерб, потерю данных, правовые последствия или другие последствия, возникшие в результате использования или неправильного использования этих инструментов. Пользователи несут полную ответственность за свои действия и любые последствия, вызванные их использованием.

Используйте ответственно. Уважайте интеллектуальную собственность. Следуйте этичным методам взлома.


🙌 Внесите свой вклад или поддержите

Внося вклад

Вклады приветствуются

  • Нашли полезным? Поставьте ⭐️

  • Есть идеи? Откройте тему или отправьте PR

  • Построили что-нибудь сверху? Напишите мне в личку или упомяните меня — я добавлю это в README!


Проверено и получен значок оценки

Благодарим Mseep.net за проведение аудита и предоставление значка оценки.

Создано с ❤️ для сообществ, занимающихся обратной разработкой и ИИ.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zinja-coder/apktool-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server