Нейросеть в роли реверс-инженера как подружить JADX с Claude через MCP

19 мая 2026
784
128
4
1 месяц

Представьте ситуацию: вы открываете тяжелое Android-приложение в JADX, перед вами тысячи классов с обфусцированными именами вроде a, b и gz. Нужно быстро понять, где здесь логика проверки лицензии или утечка данных в сеть. Обычно на это уходят часы вдумчивого чтения кода. А что если бы можно было просто спросить у нейросети: «Найди в этом APK методы, которые записывают данные в SharedPreferences без шифрования»?

Оказывается, это уже реальность. Проект jadx-mcp-server — связующее звено между классическим декомпилятором и современными языковыми моделями.

Зачем это нужно, когда есть ChatGPT

Многие пытаются просто копировать куски кода из декомпилятора в чат с ИИ. Это работает для маленьких фрагментов, но быстро упирается в контекстное окно и отсутствие связей. Нейросеть не видит проект целиком, не знает структуры ресурсов и не может сама «прогуляться» по цепочке вызовов (XREFs).

Проект использует новый протокол MCP (Model Context Protocol). Это стандарт, который позволяет LLM (например, Claude Desktop) напрямую «общаться» с локальными инструментами. Когда вы запускаете этот сервер, нейросеть получает набор инструментов для исследования APK. Она может сама запросить исходник конкретного класса, найти все места, где используется определенное поле, или даже переименовать переменные прямо в интерфейсе JADX.

Схема взаимодействия

Реклама

Что умеет связка JADX и MCP

Сервер предоставляет внушительный список инструментов. По сути, всё, что вы делаете руками в GUI, теперь доступно модели через API:

  • Навигация по коду: инструменты вроде get_class_source и get_method_by_name позволяют модели читать код «по требованию».
  • Глобальный поиск: ИИ может искать ключевые слова во всем проекте через search_classes_by_keyword (с поддержкой пагинации, чтобы не «захлебнуться» в данных).
  • Работа с ресурсами: доступ к AndroidManifest.xml, strings.xml и любым файлам из папки ресурсов. Это критично для поиска скрытых API-ключей или эндпоинтов.
  • Анализ связей: поиск перекрестных ссылок (XREFs) для классов, методов и полей. Модель может проследить путь данных от пользовательского ввода до отправки на сервер.
  • Интерактив: функция rename_variable позволяет модели помогать в деобфускации, делая код читаемым.

Техническая внутрянка

Архитектура состоит из двух частей. Первая — это плагин для JADX (jadx-ai-mcp), написанный на Java. Он поднимает локальный HTTP-сервер прямо внутри декомпилятора. Вторая часть — Python-сервер, который превращает эти HTTP-запросы в команды, понятные для MCP-клиента.

Интересно, что автор предусмотрел даже работу с отладчиком. Есть инструменты debug_get_stack_frames и debug_get_variables. То есть нейросеть может анализировать состояние приложения прямо в момент выполнения, объясняя, почему переменная приняла то или иное значение.

Как это выглядит на практике

Если подключить этот сервер к Claude Desktop, можно использовать простые текстовые промты для поиска уязвимостей. Например:

  1. «Проверь манифест и найди все Activity, которые экспортированы, но не защищены разрешениями».
  2. «Посмотри код методов, работающих с сетью. Нет ли там жестко забитых учетных данных?»
  3. «Этот метод обфусцирован. Попробуй понять его логику и переименуй переменные на более осмысленные».

В README проекта есть примеры видео, где Claude буквально за секунды находит небезопасные вызовы API, на которые человек мог бы не обратить внимания при беглом просмотре.

Нюансы и безопасность

Продукт находится на ранней стадии разработки. В документации честно предупреждают о возможных багах и вылетах. Но есть и более серьезный момент: безопасность сети.

По умолчанию сервер работает без аутентификации. Если запустить его с флагом --host 0.0.0.0, то любой человек в вашей локальной сети теоретически сможет подключиться к нему и получить доступ к вашему декомпилированному коду. Поэтому лучше придерживаться дефолтного 127.0.0.1 или использовать SSH-туннели.

Кому стоит попробовать

Я вижу применение этого инструмента в двух сценариях. Первый — быстрый аудит безопасности. Если вам прилетает пачка APK на проверку, нейросеть может взять на себя черновую работу по поиску подозрительных мест. Второй — обучение реверс-инжинирингу. Новичкам бывает сложно понять логику Smali или запутанного Java-кода, а ИИ-ассистент может давать пояснения в режиме реального времени.

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

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.