Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
zafrida-ui — Ein Frida-UI-Tool-Fenster in PyCharm / JetBrains-IDEs. | Kitploit
Tools/GitHubGitHub/yilongmd/zafrida-ui
Android-SicherheitDynamische Analyse (Sandboxing)iOS-SicherheitReverse EngineeringScripting & AutomatisierungDebuggerPenetrationstestsMobile SicherheitDienstprogramme & Frameworks
GitHubyilongmd/zafrida-ui

zafrida-ui

Ein Frida-UI-Tool-Fenster in PyCharm / JetBrains-IDEs.

831138vor 8 TagenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
中文 | [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
===============

Aktuelle Version: 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)

## Wichtigste Neuerungen in 0.3.8

- Das Session-Panel teilt „Gerät" und „Verbindungsmodus" in zwei unabhängige Auswahlzeilen auf: Die Device-Zeile listet nur echte Geräte auf, die Mode-Zeile wählt USB / Remote / Gadget und den Endpunkt. Die adb-Portweiterleitung, Force Stop und Open App der Remote/Gadget-Schleife wirken immer auf das aktuell ausgewählte Telefon und verwenden nicht mehr versehentlich ein früheres Gerät.
- Beim ersten Öffnen und beim Aktualisieren der Geräte wird ein nicht laufender adb-Server automatisch gestartet, sodass `adb devices` nicht mehr manuell ausgeführt werden muss.
- Ist ein gespeichertes Gerät nicht online, wird ein „Nicht verbunden"-Platzhalter angezeigt und die zugehörigen Aktionen werden blockiert; ist nur ein USB-Gerät verbunden, wird automatisch auf dieses umgeschaltet und ein Hinweis in der Konsole ausgegeben.
- Unter der Mode-Zeile wird die tatsächlich ausgeführte adb/frida-Route angezeigt; im Gadget-Modus ist der Target-Paketname schreibgeschützt, kann aber ausgewählt und kopiert werden.
- Die HTTP-API `/state` enthält nun das `connection`-Auswertungsergebnis; `device-select --host` ist weiterhin verwendbar, aber veraltet, für Endpunkte bitte stattdessen `mode-set --host/--port` verwenden.

## Wichtigste Neuerungen in 0.3.7

- Jedes ZAFrida Project kann unabhängig eine Python/Frida-Umgebung auswählen oder gemeinsam nutzen; standardmäßig wird der Interpreter des aktuellen PyCharm-Projekts verwendet, unterstützt werden lokale Umgebungen wie venv, Conda, uv, Poetry, Pipenv, Hatch und weitere.
- Session-UI und Project Settings wurden neu gestaltet und zeigen vollständige Versionsinformationen zu Plugin, Python und Frida an; zudem wurden adaptive, verschiebbare Log-Panels und der Sitzungsstatus optimiert.
- Vollständige Unterstützung für `.js` / `.ts`, Frida 16/17, den Wechsel zwischen mehreren Projektumgebungen sowie die drei Verbindungsabläufe USB, Remote und Gadget.
- Die lokale HTTP-API, CLI und die chinesische Skill wurden um Gerätewiederherstellung, Sitzungswarten und inkrementelle Logs erweitert; die doppelte und instabile MCP-Anpassungsschicht wurde entfernt.


Projektvorstellung
-----------------------------------

<h3 align="center">Ein grafisches Frida-Werkzeug, das speziell für PyCharm/IntelliJ entwickelt wurde</h3>

ZAFrida UI ist ein grafisches Frida-Plugin, das in PyCharm und die JetBrains-IDE-Reihe integriert ist. Es soll die umständliche Bedienung der Frida-Kommandozeile und die unübersichtliche Skriptverwaltung lösen und bietet eine vollständige **UI-Oberfläche** zur Verwaltung von Geräten, Prozessen, Skripten und Logs.

Das Kernhighlight ist das **„Checkbox-basierte" Template-Verwaltungssystem**: Durch An- und Abhaken können Codefragmente dynamisch in das Hauptskript eingefügt oder auskommentiert werden, wodurch sich Hook-Skripte „wie mit Bausteinen" zusammensetzen lassen. Gleichzeitig ist eine vollständige **Projektverwaltung** (`zafrida-project.xml`) integriert, die einen schnellen Wechsel zwischen mehreren Geräten und Umgebungskonfigurationen ermöglicht.

ZAFrida ersetzt Frida nicht, sondern dient als leistungsstarke UI-Hülle für `frida-tools` und fügt sich nahtlos in Ihre bestehende Python- und Frida-Umgebung ein.

**Einfaches Wiki**: [ZAFrida UI Einfaches Wiki (BBS)](https://github.com/yilongmd/zafrida-ui/blob/main/zafrida_ui_wiki_bbs_zh.md) (ein einfacheres Wiki)
**Ausführliches Nutzungstutorial**: [ZAFrida UI Ausführliches Nutzungstutorial Wiki](https://github.com/yilongmd/zafrida-ui/blob/main/ZAFridaUI_Wiki_zh.md)

## Effektdemonstration
![Home](https://assets.kitploit.com/production/public/readmes/11475/b5687a2c837892013964eef5ec3f7c50e0623dfc1cdc44fb233b0cf00d5af2fd.png "Home")

Schnellstart
-----------------------------------

1.  **Plugin installieren**: Suchen Sie im IDE-Plugin-Marketplace nach „ZAFrida" oder installieren Sie es von der Festplatte.
2.  **Standardumgebung konfigurieren**: Standardmäßig wird der Python Interpreter des aktuellen PyCharm-Projekts verwendet; unter den globalen `Settings` -> `Tools` -> `ZAFrida` bleiben nur die Standardwerte für Werkzeugname/-pfad erhalten.
3.  **Projekt erstellen**: Rechtsklick in der Projektansicht -> `New Frida Project`.
    * Benötigt das Projekt eine andere Frida-Version, öffnen Sie die ZAFrida `Project Settings`, wählen Sie den Python-Interpreter oder das Umgebungsverzeichnis und klicken Sie auf `Test`.
4.  **Skript schreiben/auswählen**: Wählen Sie im Run-Panel Ihre `agent.js` oder `agent.ts`.
5.  **Hook-Debugging**:
* Gerät verbinden (USB oder Remote oder Gadget).
* Zielprozess oder Paketnamen auswählen.
* Auf **Run** klicken.
6.  **Templates verwenden**: Wechseln Sie zum Tab `Templates` und haken Sie die gewünschten Hook-Funktionen an (z. B. „SSL Pinning Bypass"); der Code wird automatisch in Ihr Skript eingefügt.
7.  **Skills-Automatisierung (optional)**: Standardmäßig deaktiviert. Gehen Sie zu `Settings/Preferences -> ZAFrida -> Skills HTTP API` und haken Sie `Enable Skills` an, um die lokale API automatisch zu starten (auch manuell `Start/Stop` möglich). CLI- und Template-Pfade:
    * Skill und Haupt-CLI: `skills-template/zafrida-http-control/`
    * Kompatibilitätsstarter für alten Pfad: `skills-cli/zafrida_skill_cli.py`

QR-Code der Austauschgruppe
-----------------------------------
<img src="https://assets.kitploit.com/production/public/readmes/11475/af2e178a9eee68ad3cbdf0c5b002b39f4c18f0128b73575324967291f19eeddc.jpg" alt="ZAFrida与逆向交流群二维码" width="260" />

Funktionsmerkmale
-----------------------------------

* **Geräte- und Prozessverwaltung**  
  Integriert `frida-ls-devices` und `frida-ps`, unterstützt das Aktualisieren der Geräteliste mit einem Klick sowie das Anzeigen laufender Prozesse, laufender Apps oder installierter Anwendungen.

* **Verbindung in mehreren Modi**  
  Vollständige Unterstützung der Modi **USB / Remote / Gadget**, mit benutzerdefiniertem Remote-Host und -Port, ohne manuelles Zusammensetzen komplexer Kommandozeilenparameter.

* **Interaktive Skriptausführung (Run / Attach)**
  * Unterstützt die beiden Ausführungsaktionen **Run (standardmäßig Spawn)** und **Attach**, statt eines einfachen „Moduswechsels".
  * Unterstützt **Force Stop** zum gewaltsamen Beenden der Zielanwendung.
  * Integrierte Konsolen-Logausgabe, Logs werden automatisch im Projektverzeichnis `zafrida-logs/` gespeichert.

* **Rechtsklickmenü im JS-/TypeScript-Editor (wichtig)**
  * Im Bearbeitungsbereich einer Frida-`.js`- oder `.ts`-Datei kann per Rechtsklick direkt gewählt werden:
    * **Run Frida Script**: Führt die aktuelle Datei als Hauptskript aus (standardmäßig Spawn).
    * **Attach Frida Script**: Injiziert die aktuelle Datei als Attach-Skript in den bereits laufenden Zielprozess.
  * Vor der Ausführung wird die aktuelle Datei automatisch gespeichert und automatisch zum ZAFrida Project gewechselt, zu dem das Skript gehört.
  * Geeignet für schnelle PoCs, Demo-Verifikation, den Gadget-Modus oder die sofortige Injektion in bereits laufende Prozesse.
  * **Tastenkürzel**:
    * Windows / Linux: `Ctrl + Alt + S`
    * macOS: `⌘ + ⌥ + S`

* **Snippets-Einfügen per Rechtsklick im Editor**
  * Im Rechtsklickmenü des JS-/TypeScript-Editors wird **ZAFrida Frida Snippets** angeboten.
  * Häufig verwendete Frida-Codefragmente lassen sich mit einem Klick einfügen, z. B.:
    * `Java.perform`-Wrapper-Struktur
    * Java-Method-Hook-Template
    * `Interceptor.attach` Native Hook
  * Der Einfügevorgang folgt der IDE WriteCommandAction und kann sicher rückgängig gemacht/wiederhergestellt werden.

* **Dynamisches Template-System (Kerninnovation)**
  * Integrierte gängige Android-/iOS-Hook-Templates (z. B. SSL Pinning Bypass, Method Hook, Native Hook).
  * **Checkbox-Steuerung**: Anhaken fügt Code ein, Abhaken kommentiert den Code automatisch aus – kein manuelles Löschen oder Ändern nötig.
  * Unterstützt benutzerdefinierte Templates mit Echtzeitvorschau des Template-Codes in der IDE.

* **Getrenntes Design von Run Script + Attach Script**
  * Unterstützt das gleichzeitige Bestehen eines Haupt-**Run Script** und eines unabhängigen **Attach Script**.
  * Geeignet, um „Hooks zur Startphase" und „Injektionslogik zur Laufzeit" zu entkoppeln, was komplexes Debugging und langfristige Wartung erleichtert.

* **Projektbasierte Konfiguration (ZAFrida Project)**
  * Führt das Konzept des ZAFrida Project ein und speichert Gerät, Ziel, Skript, Attach Script, Verbindungsparameter usw. als vollständigen Arbeitskontext.
  * Unterstützt in der Project View:
    * `New Frida Project` zum Erstellen eines neuen Projekts
    * `Select Frida Project` zum schnellen Wechseln des aktuell aktiven Projekts
    * `Load Frida Project` zum Importieren eines vorhandenen Projektverzeichnisses
  * Nach dem Projektwechsel werden UI-Status und Konfiguration automatisch wiederhergestellt.

* **Intelligente Auflösung der Python-/Frida-Umgebung**
  * Standardmäßig wird das Python SDK des aktuellen PyCharm-Projekts aufgelöst; jedes ZAFrida Project kann Interpreter oder Umgebungsverzeichnis einzeln überschreiben.
  * Unterstützt lokale system/pyenv-, venv/virtualenv-, Conda-, uv-, Poetry-, Pipenv- und Hatch-Umgebungen.
  * Mehrere ZAFrida Projects können denselben Pfad zur gemeinsamen Nutzung einer Umgebung wählen, ohne venv kopieren zu müssen; ideal, um Frida-16/17-Umgebungen getrennt zu pflegen.
  * Fehlt `frida-tools` in der aktuellen IDE-Umgebung oder der explizit angegebenen Projektumgebung, wird direkt ein Fehler gemeldet und nicht stillschweigend eine andere Version aus dem System-PATH verwendet; `Test` kann die tatsächliche Frida-Version anzeigen.
  * Remote-Python-Interpreter wie SSH, Docker, Docker Compose, WSL können derzeit nicht für lokale Frida-Subprozesse verwendet werden.

* **Frida 17 / TypeScript**
  * Dateiauswahl, Rechtsklick Run/Attach und Snippets unterstützen `.js` / `.ts`; die REPL von Frida 17 kompiliert `-l agent.ts` automatisch.
  * Die integrierten Templates wurden auf die moderne Module/NativePointer-API von Frida 17 migriert und bleiben gleichzeitig in gängigen Frida-16-Umgebungen nutzbar.
  * Die frida-tools REPL führt aus Kompatibilitätsgründen die Standard-Java/ObjC-Bridges mit; bei `import` von npm-/Drittanbieter-Modulen sollten Abhängigkeiten über `frida-create -t agent` oder eine gleichwertige Projektverwaltung eingebunden werden.

* **Lokale Automatisierungsschnittstelle Skills**
  * Die lokale Skills HTTP API (standardmäßig deaktiviert) unterstützt Funktionserkennung, Projekt-/Python-Umgebung, Geräte und Prozesse, Run/Attach, Verlaufs-Loglisten und inkrementelles Log-Lesen auf Basis von Byte-Cursorn.
  * Die Skill enthält einen begrenzten `wait-device` / `wait-session`-Wiederherstellungsablauf und unterscheidet zwischen sicher wiederholbaren Lesevorgängen und nicht automatisch wiederholbaren Nebenwirkungsoperationen.
  * Aktivierung: `Settings/Preferences -> ZAFrida -> Skills HTTP API`, `Enable Skills` anhaken.
  * Zugehörige CLI und Templates:
    * `skills-template/zafrida-http-control/` (Haupt-Skill und CLI)
    * `skills-cli/zafrida_skill_cli.py` (Kompatibilitätsstarter für alten Pfad)

Anwendungsszenarien
-----------------------------------
ZAFrida UI eignet sich für alle Szenarien des Reverse Engineerings mit Frida, insbesondere:
* Penetrationstests und Reverse-Engineering-Analyse von Android-/iOS-Apps.
* Debugging-Prozesse, bei denen häufig zwischen verschiedenen Hook-Skripten gewechselt werden muss.
* Entwickler, die gewohnt sind, mit einer IDE (PyCharm/IDEA) in gemischter Python-, JavaScript- und TypeScript-Entwicklung zu arbeiten.

Technische Dokumentation
-----------------------------------

- **Umgebungsanforderungen**:
  - IntelliJ IDEA oder PyCharm (empfohlen 2024.3+)
  - Lokal installiertes Python3 und `frida-tools` (`pip install frida-tools`)
  - Sicherstellen, dass `frida`, `frida-ps`, `frida-ls-devices` im System-PATH liegen oder der Pfad in den Plugin-Einstellungen angegeben ist.

- **Problemfeedback**: [Github Issues](https://github.com/yilongmd/zafrida-ui/issues)

Projekt starten
-----------------------------------

1.  Quellcode klonen: `git clone https://github.com/yilongmd/zafrida-ui.git`
2.  Projekt mit IntelliJ IDEA öffnen.
3.  Gradle-Task `runIde` ausführen, um die Debug-Umgebung zu starten.

Systemeffekte
-----------------------------------

##### Hauptoberfläche und Run-Panel (Run Panel)
> Bietet Geräteauswahl, Skriptauswahl, Konfiguration des Ausführungsmodus und Konsolenausgabe.

![Run Panel](https://assets.kitploit.com/production/public/readmes/11475/01ec2353341ebe2f41b51108b72cc0ba66b520589b2e58653899c40fff6aee8d.png "Run Panel Screenshot")
##### Dynamische Template-Verwaltung (Template Panel)
> Links Kategorie auswählen, in der Mitte Templates anhaken, rechts Code in Echtzeitvorschau. Die Checkboxen steuern direkt, ob der Skriptinhalt wirksam wird.

![Template Panel](https://assets.kitploit.com/production/public/readmes/11475/c23d54b54e8d2cdceb97d4680b9f2735c6afd5722d0bd76bd30b06706e833205.png "Template Panel Screenshot")
##### Einstellungsoberfläche (Settings)
> Unterstützt benutzerdefinierte Frida-Werkzeugpfade, Remote-Verbindungsadressen und Log-Konfiguration.

![Settings](https://assets.kitploit.com/production/public/readmes/11475/b1651ec2b67aa8d74f45d476445329570c884c2d011af4768401aa12da2ff202.png "Settings Screenshot")
##### Projekt-Erstellungsassistent
> Schnelles Erstellen einer standardisierten Frida-Projektstruktur.

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

Technische Architektur
-----------------------------------

#### Entwicklungsumgebung
- Sprache: Java 21, Java, Build-Skripte verwenden Gradle Kotlin DSL
- Framework: IntelliJ Platform SDK
- Build-Werkzeug: Gradle
- Abhängigkeiten: `frida` `frida-tools` (Python environment)


Danksagung
-----------------------------------
Besonderer Dank gilt den folgenden Persönlichkeiten für ihre Unterstützung mit Frida-JS-Skriptvorlagen für dieses Projekt:

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

Weitere Mitwirkende und Danksagungen finden Sie unter: [CONTRIBUTORS.md](https://github.com/yilongmd/zafrida-ui/blob/main/CONTRIBUTORS.md)
Tool herunterladen