中文 | English
ZAFrida UI - PyCharm Frida Plugin
Aktuelle Version: 0.3.7

Wichtigste Aktualisierungen in 0.3.7
- Jedes ZAFrida-Projekt kann die Python-/Frida-Umgebung unabhängig auswählen oder gemeinsam nutzen. Standardmäßig wird der Interpreter des aktuellen PyCharm-Projekts verwendet; lokale Umgebungen wie venv, Conda, uv, Poetry, Pipenv und Hatch werden unterstützt.
- Die Session-UI und die Projekteinstellungen wurden neu gestaltet. Plugin-, Python- und Frida-Versionsinformationen werden vollständig angezeigt, und das Log-Panel sowie der Session-Status wurden mit adaptivem, ziehbarem Verhalten optimiert.
- Vollständige Unterstützung für
.js / .ts, Frida 16/17, Wechsel zwischen mehreren Projektumgebungen sowie die drei Verbindungsabläufe USB, Remote und Gadget.
- Die lokale HTTP-API, CLI und die chinesischen Skills wurden um Gerätewiederherstellung, Session-Wait und inkrementelle Log-Fähigkeiten erweitert; die redundante und instabile MCP-Adapter-Schicht wurde entfernt.
Projektvorstellung
ZAFrida UI ist ein grafisches Frida-Bedienungs-Plugin, das in PyCharm und JetBrains-IDE-Produkten integriert ist. Es zielt darauf ab, die mühsamen Frida-Kommandozeilenoperationen und die unübersichtliche Skriptverwaltung zu lösen, und bietet eine vollständige UI-Oberfläche zur Verwaltung von Geräten, Prozessen, Skripten und Logs.
Der Kernpunkt liegt in seinem "Checkbox-basierten" Template-Verwaltungssystem: Benutzer können durch Ankreuzen/Abwählen Codefragmente dynamisch in das Hauptskript einfügen oder auskommentieren, wodurch eine "bausteinartige" Zusammenstellung von Hook-Skripten ermöglicht wird. Darüber hinaus verfügt das Plugin über eine integrierte projektbasierte Verwaltung (zafrida-project.xml), die einen schnellen Wechsel zwischen Multi-Geräte- und Multi-Umgebungs-Konfigurationen unterstützt.
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.
Einfache Wiki-Version: ZAFrida UI Einfache Wiki (BBS) (Dies ist die einfachere Wiki)
Detailliertes Tutorial: ZAFrida UI Detailliertes Tutorial Wiki
Demo

Schnellstart
- Plugin installieren: Suchen Sie im IDE-Plugin-Markt nach "ZAFrida" oder installieren Sie es über die Festplatte.
- Standardumgebung konfigurieren: Standardmäßig wird der Python-Interpreter des aktuellen PyCharm-Projekts verwendet; in den globalen
Settings -> Tools -> ZAFrida bleiben nur die Standardwerte für Tool-Namen/Pfade erhalten.
- Projekt erstellen: Rechtsklick in der Projektansicht ->
New Frida Project.
- Wenn dieses Projekt eine andere Frida-Version benötigt, öffnen Sie die ZAFrida
Project Settings, wählen Sie den Python-Interpreter oder das Umgebungsverzeichnis aus und klicken Sie auf Test.
- Skript schreiben/auswählen: Wählen Sie im Run-Panel Ihre
agent.js oder agent.ts aus.
- Hook-Debugging:
- Gerät verbinden (USB oder Remote oder Gadget).
- Zielprozess oder Paketnamen auswählen.
- Auf Run klicken.
- Templates verwenden: Wechseln Sie zum Tab
Templates und aktivieren Sie die gewünschten Hook-Funktionen (z. B. "SSL Pinning Bypass"). Der Code wird automatisch in Ihr Skript eingefügt.
- Skills-Automatisierung (optional): Standardmäßig deaktiviert. Gehen Sie zu
Settings/Preferences -> ZAFrida -> Skills HTTP API und aktivieren Sie Enable Skills, um die lokale API automatisch zu starten (auch manuell über Start/Stop möglich). CLI- und Template-Speicherorte:
- Skill und Haupt-CLI:
skills-template/zafrida-http-control/
- Kompatibilitäts-Launcher für alten Pfad:
skills-cli/zafrida_skill_cli.py
Funktionen
-
Geräte- und Prozessverwaltung
Integriert frida-ls-devices und frida-ps und unterstützt das Aktualisieren der Geräteliste mit einem Klick sowie das Anzeigen laufender Prozesse, laufender Apps oder installierter Anwendungen.
-
Multi-Modus-Verbindung
Vollständige Unterstützung für USB / Remote / Gadget-Modi, inklusive benutzerdefiniertem Remote-Host und -Port, ohne mühsames manuelles Zusammenstellen komplexer Kommandozeilenargumente.
-
Interaktive Skriptausführung (Run / Attach)
- Unterstützt Run (Standard: Spawn) und Attach als zwei Ausführungsaktionen, nicht nur als einfachen "Moduswechsel".
- Unterstützt Force Stop zum erzwungenen Stoppen der Ziel-App.
- Integrierte Konsolen-Logausgabe mit automatischer Speicherung der Logs im Projektverzeichnis
zafrida-logs/.
-
Kontextmenü im JS-/TypeScript-Editor (wichtig)
- Rechtsklick im Bearbeitungsbereich einer Frida-
.js- oder .ts-Datei ermöglicht die direkte Auswahl von:
- Run Frida Script: Führt die aktuelle Datei als Hauptskript aus (Standard: Spawn).
- Attach Frida Script: Injiziert die aktuelle Datei als Anhangsskript in einen bereits laufenden Zielprozess.
- Vor der Ausführung wird die aktuelle Datei automatisch gespeichert und automatisch zum ZAFrida-Projekt des Skripts gewechselt.
- Geeignet für schnelle PoCs, Demo-Validierung, Gadget-Modus oder sofortige Injektion in laufende Prozesse.
- Tastenkürzel:
- Windows / Linux:
Ctrl + Alt + S
- macOS:
⌘ + ⌥ + S
-
Snippets-Einfügung über Editor-Kontextmenü
- Bietet ZAFrida Frida Snippets im Kontextmenü des JS-/TypeScript-Editors.
- Fügt mit einem Klick gängige Frida-Codefragmente ein, z. B.:
Java.perform-Wrapper-Struktur
- Java-Methoden-Hook-Vorlage
Interceptor.attach Native Hook
- Die Einfügung folgt der IDE-
WriteCommandAction und kann sicher rückgängig gemacht/erneut ausgeführt werden.
-
Dynamisches Template-System (Kerninnovation)
- Integrierte gängige Android-/iOS-Hook-Templates (z. B. SSL Pinning Bypass, Method Hook, Native Hook).
- Checkbox-Steuerung: Ankreuzen fügt Code ein, Abwählen kommentiert den Code automatisch aus – kein manuelles Löschen oder Ändern erforderlich.
- Unterstützt benutzerdefinierte Templates mit Live-Vorschau des Template-Codes in der IDE.
-
Getrenntes Design von Run Script + Attach Script
- Unterstützt das gleichzeitige Vorhandensein eines Haupt-Run Scripts und eines unabhängigen Attach Scripts.
- Geeignet, um "Startzeit-Hooks" von "Laufzeit-Injektionslogik" zu entkoppeln, was komplexes Debugging und langfristige Wartung erleichtert.