Apktool MCP Server

Integrations

  • Provides tools for Android APK reverse engineering, including decoding APKs, examining smali code, analyzing manifests, inspecting resources, building modified APKs, and signing APKs for installation.

  • Integration with Kali Linux for running the APKTool MCP server in a security-focused environment, specifically mentioning Claude Desktop for Debian-based Linux.

  • Features a demo video on YouTube showcasing the APKTool MCP server's capabilities for reverse engineering Android applications.

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

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

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


🤖 Что такое 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

Другие проекты в 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!

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

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

local-only server

The server can only run on the client's local machine because it depends on local resources.

Сервер MCP, который интегрируется с Apktool для обеспечения поддержки обратного проектирования приложений Android с использованием Claude и других LLM через протокол контекста модели.

  1. 🤖 Что такое apktool-mcp-server?
    1. Другие проекты в Zin MCP Suite
      1. Текущие инструменты MCP
        1. 🗒️ Примеры подсказок
          1. 🔍 Базовое понимание кода
          2. 🛡️ Обнаружение уязвимостей
          3. 🛠️ Помощники обратного инжиниринга
          4. 📦 Статический анализ
          5. 🤖 Модификация кода ИИ
          6. 📄 Документация и метаданные
        2. 🛠️ Начало работы
          1. Скачать с Releases:
        3. Запуск на локальном LLM с использованием Ollama и Zin MCP Client — рекомендуется
          1. 🤖 3. Настройка рабочего стола Клода
            1. Для сообщения об ошибках, проблемах, предложений функций, проблем с производительностью, общих вопросов, проблем с документацией.
              1. 🙏 Кредиты
                1. 📄 Лицензия
                  1. ⚖️ Юридическое предупреждение
                    1. 🙌 Внесите свой вклад или поддержите
                      1. Внося вклад

                        Related MCP Servers

                        • -
                          security
                          A
                          license
                          -
                          quality
                          A server enabling programmatic control over Android devices through ADB, providing capabilities like screenshot capture, UI layout analysis, and package management that can be accessed by MCP clients like Claude Desktop.
                          Last updated -
                          310
                          Python
                          Apache 2.0
                          • Apple
                        • A
                          security
                          A
                          license
                          A
                          quality
                          A Model Context Protocol (MCP) server that enables AI assistants to control and interact with Android devices, allowing for device management, app debugging, system analysis, and UI automation through natural language commands.
                          Last updated -
                          29
                          30
                          Python
                          Apache 2.0
                          • Linux
                          • Apple
                        • -
                          security
                          A
                          license
                          -
                          quality
                          A Model Context Protocol server that enables building Android projects and running tests directly in Visual Studio Code through extensions like Cline or Roo Code.
                          Last updated -
                          1
                          Python
                          MIT License
                        • -
                          security
                          A
                          license
                          -
                          quality
                          A Model Context Protocol server that connects to a custom JADX fork (JADX-AI) and enables local LLMs to interact with decompiled Android app code for live reverse engineering assistance.
                          Last updated -
                          76
                          Python
                          Apache 2.0
                          • Linux

                        View all related MCP servers

                        ID: jtugu4w3w9