Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/yilongmd/zafrida-ui
Безопасность AndroidДинамический анализ (песочница)Безопасность iOSОбратная инженерияСкриптинг и автоматизацияОтладчикиТестирование на ПроникновениеМобильная безопасностьУтилиты и фреймворки
GitHubyilongmd/zafrida-ui

zafrida-ui

Окно инструмента Frida UI внутри PyCharm / JetBrains IDE.

83113910 дней назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
中文 | [English](https://github.com/yilongmd/zafrida-ui/blob/main/README.en-US.md)

![ZAFrida UI](https://raw.githubusercontent.com/yilongmd/zafrida-ui/HEAD/doc/logo.svg "ZAFrida UI Logo")
ZAFrida UI - PyCharm Frida Plugin
===============

Текущая версия: 0.3.8


[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
[![](https://img.shields.io/badge/Author-ZAFrida-orange.svg)](https://github.com/yilongmd/zafrida-ui)
[![](https://img.shields.io/badge/Platform-IntelliJ-brightgreen.svg)](https://plugins.jetbrains.com/)
[![GitHub stars](https://img.shields.io/github/stars/yilongmd/zafrida-ui.svg?style=social&label=Stars)](https://github.com/yilongmd/zafrida-ui)

## Основные обновления 0.3.8

- В панели Session «устройство» и «режим подключения» разделены на две независимые строки выбора: строка Device содержит только реальные устройства, строка Mode выбирает USB / Remote / Gadget и конечные точки. Проброс adb-портов для Remote/Gadget loopback, Force Stop, Open App всегда применяются к текущему выбранному телефону и больше не используют по ошибке предыдущее устройство.
- При первом открытии и обновлении устройств автоматически запускается неработающий adb server, больше не нужно вручную выполнять `adb devices`.
- Если сохранённое устройство не в сети, отображается заглушка «не подключено» и блокируются связанные операции; при подключении только одного USB-устройства оно автоматически выбирается с уведомлением в Console.
- Под строкой Mode отображается фактически используемый маршрут adb/frida; в режиме Gadget имя пакета Target доступно только для чтения, но его можно выделить и скопировать.
- В HTTP API `/state` добавлен результат разбора `connection`; `device-select --host` по-прежнему доступен, но устарел, для конечных точек используйте `mode-set --host/--port`.

## Основные обновления 0.3.7

- Каждый ZAFrida Project может независимо выбирать или совместно использовать окружение Python/Frida, по умолчанию используется интерпретатор текущего проекта PyCharm, поддерживаются локальные окружения venv, Conda, uv, Poetry, Pipenv, Hatch и другие.
- Переработаны Session UI и Project Settings, полностью отображается информация о версиях плагина, Python и Frida, оптимизированы адаптивная и перетаскиваемая панель логов и состояние сессии.
- Полная поддержка `.js` / `.ts`, Frida 16/17, переключения между окружениями нескольких проектов, а также трёх процессов подключения: USB, Remote, Gadget.
- Усилены локальный HTTP API, CLI и китайский Skill в части восстановления устройств, ожидания сессии и инкрементальных логов; удалён дублирующий и нестабильный слой адаптера MCP.


Описание проекта
-----------------------------------

<h3 align="center">Графический инструмент Frida, созданный специально для PyCharm/IntelliJ</h3>

ZAFrida UI — это плагин графической работы с Frida, интегрированный в PyCharm и линейку IDE JetBrains. Он призван решить проблемы громоздкой работы с Frida через командную строку и беспорядочного управления скриптами, предоставляя полноценный набор **UI-интерфейсов** для управления устройствами, процессами, скриптами и логами.

Ключевая особенность — **система шаблонов в стиле «флажков»**: пользователь может, устанавливая или снимая флажки, динамически вставлять фрагменты кода в основной скрипт или закомментировать их, реализуя «блочную» сборку Hook-скриптов. Кроме того, плагин включает полноценное **проектное управление** (`zafrida-project.xml`), поддерживающее быстрое переключение между конфигурациями множества устройств и окружений.

ZAFrida не заменяет Frida, а служит мощной UI-оболочкой для `frida-tools`, бесшовно интегрируясь с вашим существующим окружением Python и Frida.

**Упрощённая Wiki**: [ZAFrida UI упрощённая Wiki (BBS)](https://github.com/yilongmd/zafrida-ui/blob/main/zafrida_ui_wiki_bbs_zh.md) (это более простая Wiki)
**Подробное руководство**: [ZAFrida UI подробное руководство Wiki](https://github.com/yilongmd/zafrida-ui/blob/main/ZAFridaUI_Wiki_zh.md)

## Демонстрация
![Home](https://assets.kitploit.com/production/public/readmes/11475/b5687a2c837892013964eef5ec3f7c50e0623dfc1cdc44fb233b0cf00d5af2fd.png "Home")

Быстрый старт
-----------------------------------

1.  **Установка плагина**: найдите "ZAFrida" в магазине плагинов IDE или установите с диска.
2.  **Настройка окружения по умолчанию**: по умолчанию используется Python Interpreter текущего проекта PyCharm; глобальные `Settings` -> `Tools` -> `ZAFrida` сохраняют только значения по умолчанию для имён/путей инструментов.
3.  **Создание проекта**: правый клик в представлении проекта -> `New Frida Project`.
    * Если этому проекту нужна другая версия Frida, откройте ZAFrida `Project Settings`, выберите интерпретатор Python или каталог окружения и нажмите `Test`.
4.  **Написание/выбор скрипта**: выберите ваш `agent.js` или `agent.ts` в панели Run.
5.  **Отладка Hook**:
* Подключите устройство (USB, Remote или Gadget).
* Выберите целевой процесс или имя пакета.
* Нажмите **Run**.
6.  **Использование шаблонов**: переключитесь на вкладку `Templates` и отметьте нужные функции Hook (например, "SSL Pinning Bypass") — код автоматически внедрится в ваш скрипт.
7.  **Автоматизация Skills (опционально)**: по умолчанию отключена. Перейдите в `Settings/Preferences -> ZAFrida -> Skills HTTP API`, отметьте `Enable Skills` для автоматического запуска локального API (также можно вручную `Start/Stop`), расположение CLI и шаблонов:
    * Skill и основной CLI: `skills-template/zafrida-http-control/`
    * Лаунчер для совместимости со старым путём: `skills-cli/zafrida_skill_cli.py`

QR-код группы общения
-----------------------------------
<img src="https://assets.kitploit.com/production/public/readmes/11475/af2e178a9eee68ad3cbdf0c5b002b39f4c18f0128b73575324967291f19eeddc.jpg" alt="QR-код группы общения ZAFrida и реверс-инжиниринга" width="260" />

Возможности
-----------------------------------

* **Управление устройствами и процессами**  
  Интеграция `frida-ls-devices` и `frida-ps`, поддержка обновления списка устройств одним нажатием, просмотр запущенных процессов, работающих приложений или установленных приложений.

* **Многопользовательские режимы подключения**  
  Полная поддержка режимов **USB / Remote / Gadget**, поддержка пользовательских удалённых Host и Port, без ручного составления сложных параметров командной строки.

* **Интерактивный запуск скриптов (Run / Attach)**
  * Поддержка двух действий выполнения — **Run (по умолчанию Spawn)** и **Attach**, а не простого «переключения режима».
  * Поддержка **Force Stop** для принудительной остановки целевого приложения.
  * Встроенный вывод логов в консоль с автоматическим сохранением логов в каталог проекта `zafrida-logs/`.

* **Контекстное меню редактора JS / TypeScript (важно)**
  * Правый клик в области редактирования файла Frida `.js` или `.ts` позволяет напрямую выбрать:
    * **Run Frida Script**: выполнить текущий файл как основной скрипт (по умолчанию Spawn).
    * **Attach Frida Script**: внедрить текущий файл как присоединяемый скрипт в уже запущенный целевой процесс.
  * Перед выполнением текущий файл автоматически сохраняется и происходит автоматическое переключение на ZAFrida Project, которому принадлежит скрипт.
  * Подходит для быстрых PoC, проверки Demo, режима Gadget или мгновенного внедрения в уже запущенный процесс.
  * **Горячие клавиши**:
    * Windows / Linux: `Ctrl + Alt + S`
    * macOS: `⌘ + ⌥ + S`

* **Вставка Snippets из контекстного меню редактора**
  * В контекстном меню редактора JS / TypeScript доступен пункт **ZAFrida Frida Snippets**.
  * Вставка часто используемых фрагментов кода Frida одним нажатием, например:
    * обёртка `Java.perform`
    * шаблон Hook метода Java
    * Native Hook через `Interceptor.attach`
  * Процесс вставки следует IDE WriteCommandAction, безопасно отменяется/повторяется.

* **Динамическая система шаблонов (ключевая инновация)**
  * Встроенные шаблоны Hook для Android / iOS (например, SSL Pinning Bypass, Method Hook, Native Hook).
  * **Управление флажками**: отметка вставляет код, снятие отметки автоматически комментирует код, без ручного удаления и правки.
  * Поддержка пользовательских шаблонов с предпросмотром кода шаблона в реальном времени прямо в IDE.

* **Раздельный дизайн Run Script + Attach Script**
  * Поддержка одновременного существования основного **Run Script** и отдельного **Attach Script**.
  * Позволяет разделить «Hook на этапе запуска» и «логику внедрения во время выполнения», что удобно для сложной отладки и долгосрочного сопровождения.

* **Проектная конфигурация (ZAFrida Project)**
  * Введено понятие ZAFrida Project, сохраняющее устройство, цель, скрипт, Attach Script, параметры подключения и прочее как единый рабочий контекст.
  * Поддержка в Project View:
    * `New Frida Project` — создание нового проекта
    * `Select Frida Project` — быстрое переключение активного проекта
    * `Load Frida Project` — импорт существующего каталога проекта
  * После переключения проекта состояние UI и конфигурация восстанавливаются автоматически.

* **Умный разбор окружения Python / Frida**
  * По умолчанию разбирается Python SDK текущего проекта PyCharm; каждый ZAFrida Project может отдельно переопределить интерпретатор или каталог окружения.
  * Поддержка локальных окружений system/pyenv, venv/virtualenv, Conda, uv, Poetry, Pipenv, Hatch.
  * Несколько ZAFrida Project могут выбрать один путь для совместного использования окружения, без копирования venv; удобно для раздельного сопровождения окружений Frida 16/17.
  * Если в текущем окружении IDE или явно указанном окружении проекта отсутствует `frida-tools`, сразу выдаётся ошибка, без молчаливого использования другой версии из системного PATH; `Test` показывает фактическую версию Frida.
  * Удалённые Python Interpreter (SSH, Docker, Docker Compose, WSL и т. п.) пока не могут использоваться для локального дочернего процесса Frida.

* **Frida 17 / TypeScript**
  * Выбор файлов, правый клик Run/Attach и Snippets поддерживают `.js` / `.ts`; REPL Frida 17 автоматически компилирует `-l agent.ts`.
  * Встроенные шаблоны переведены на современный Module/NativePointer API Frida 17, при этом сохраняется работоспособность в распространённых окружениях Frida 16.
  * REPL frida-tools для совместимости несёт стандартные Java/ObjC bridges; при использовании `import` модулей npm/сторонних модулей следует управлять зависимостями через `frida-create -t agent` или эквивалентный инженерный подход.

* **Локальный интерфейс автоматизации Skills**
  * Локальный Skills HTTP API (по умолчанию отключён) поддерживает обнаружение возможностей, проекты/окружения Python, устройства и процессы, Run/Attach, список исторических логов и инкрементальное чтение логов на основе байтового курсора.
  * Skill включает встроенные ограниченные процессы восстановления `wait-device` / `wait-session` и различает безопасно повторяемые операции чтения и операции с побочными эффектами, которые нельзя автоматически повторять.
  * Способ включения: `Settings/Preferences -> ZAFrida -> Skills HTTP API`, отметьте `Enable Skills`.
  * Сопутствующий CLI и шаблоны:
    * `skills-template/zafrida-http-control/` (основной Skill и CLI)
    * `skills-cli/zafrida_skill_cli.py` (лаунчер для совместимости со старым путём)

Сценарии применения
-----------------------------------
ZAFrida UI подходит для всех сценариев реверс-инжиниринга с использованием Frida, особенно:
* Тестирование на проникновение и реверс-анализ приложений Android / iOS.
* Процесс отладки, требующий частого переключения между разными Hook-скриптами.
* Инженеры, привыкшие использовать IDE (PyCharm/IDEA) для смешанной разработки на Python, JavaScript и TypeScript.

Техническая документация
-----------------------------------

- **Требования к окружению**:
  - IntelliJ IDEA или PyCharm (рекомендуется 2024.3+)
  - Локально установленный Python3 и `frida-tools` (`pip install frida-tools`)
  - Убедитесь, что `frida`, `frida-ps`, `frida-ls-devices` находятся в системном PATH или укажите пути в настройках плагина.

- **Обратная связь**: [Github Issues](https://github.com/yilongmd/zafrida-ui/issues)

Запуск проекта
-----------------------------------

1.  Клонируйте исходный код: `git clone https://github.com/yilongmd/zafrida-ui.git`
2.  Откройте проект в IntelliJ IDEA.
3.  Запустите задачу Gradle `runIde` для запуска среды отладки.

Внешний вид системы
-----------------------------------

##### Главный интерфейс и панель запуска (Run Panel)
> Предоставляет выбор устройства, выбор скрипта, настройку режима запуска и вывод в консоль.

![Run Panel](https://assets.kitploit.com/production/public/readmes/11475/01ec2353341ebe2f41b51108b72cc0ba66b520589b2e58653899c40fff6aee8d.png "Run Panel Screenshot")
##### Управление динамическими шаблонами (Template Panel)
> Слева выбор категории, в центре отметка шаблонов, справа предпросмотр кода в реальном времени. Флажки напрямую управляют активностью содержимого скрипта.

![Template Panel](https://assets.kitploit.com/production/public/readmes/11475/c23d54b54e8d2cdceb97d4680b9f2735c6afd5722d0bd76bd30b06706e833205.png "Template Panel Screenshot")
##### Интерфейс настроек (Settings)
> Поддержка пользовательских путей к инструментам Frida, адресов удалённого подключения и настройки логов.

![Settings](https://assets.kitploit.com/production/public/readmes/11475/b1651ec2b67aa8d74f45d476445329570c884c2d011af4768401aa12da2ff202.png "Settings Screenshot")
##### Мастер создания проекта
> Быстрое создание стандартизированной структуры проекта Frida.

![New Project](https://assets.kitploit.com/production/public/readmes/11475/b05a9238f0c3c18dbee9116dddc179e1607bcb723589b0ec980ae4f884e3742b.png "New Project Dialog")

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

#### Среда разработки
- Язык: Java 21, Java, скрипты сборки используют Gradle Kotlin DSL
- Фреймворк: IntelliJ Platform SDK
- Инструмент сборки: Gradle
- Зависимости: `frida` `frida-tools` (Python environment)


Благодарности
-----------------------------------
Особая благодарность следующим специалистам за поддержку проекта шаблонами Frida JS:

* **小佳**
* **Lane**
* **迷人**

Больше информации о контрибьюторах и благодарностях см. в: [CONTRIBUTORS.md](https://github.com/yilongmd/zafrida-ui/blob/main/CONTRIBUTORS.md)
Скачать инструмент