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
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:
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
И следующее содержание в нем:
Заменять:
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.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Tools
Сервер MCP, который интегрируется с Apktool для обеспечения поддержки обратного проектирования приложений Android с использованием Claude и других LLM через протокол контекста модели.
- 🤖 Что такое apktool-mcp-server?
- Другие проекты в Zin MCP Suite
- Текущие инструменты MCP
- 🗒️ Примеры подсказок
- 🛠️ Начало работы
- Запуск на локальном LLM с использованием Ollama и Zin MCP Client — рекомендуется
- 🤖 3. Настройка рабочего стола Клода
- Для сообщения об ошибках, проблемах, предложений функций, проблем с производительностью, общих вопросов, проблем с документацией.
- 🙏 Кредиты
- 📄 Лицензия
- ⚖️ Юридическое предупреждение
- 🙌 Внесите свой вклад или поддержите
- Внося вклад
Related MCP Servers
- -securityAlicense-qualityA 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 -310PythonApache 2.0
- AsecurityAlicenseAqualityA 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 -2930PythonApache 2.0
- -securityAlicense-qualityA 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 -1PythonMIT License
- -securityAlicense-qualityA 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 -76PythonApache 2.0