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

Principales mises à jour de la version 0.3.7
- Chaque projet ZAFrida peut sélectionner ou partager indépendamment son environnement Python/Frida, en utilisant par défaut l'interpréteur du projet PyCharm actuel, avec prise en charge des environnements locaux venv, Conda, uv, Poetry, Pipenv, Hatch, etc.
- Refonte de l'interface de session et des paramètres de projet, affichage complet des versions du plugin, de Python et de Frida, avec optimisation du panneau de journaux adaptatif et déplaçable ainsi que de l'état de session.
- Prise en charge complète des fichiers
.js / .ts, de Frida 16/17, du basculement entre environnements multi-projets, ainsi que des trois flux de connexion USB, Remote et Gadget.
- Renforcement de l'API HTTP locale, de la CLI et des compétences en chinois pour la récupération d'appareils, l'attente de session et les journaux incrémentaux ; suppression de la couche d'adaptation MCP redondante et instable.
Présentation du projet
Outil graphique Frida conçu pour PyCharm/IntelliJ
ZAFrida UI est un plugin d'opération graphique Frida intégré dans PyCharm et les IDE de la série JetBrains. Il vise à résoudre les problèmes d'opérations en ligne de commande Frida fastidieuses et de gestion chaotique des scripts, en fournissant une interface UI complète pour gérer les appareils, les processus, les scripts et les journaux.
Le point fort principal réside dans son système de gestion de modèles "à cases à cocher" : l'utilisateur peut, en cochant/décochant, insérer dynamiquement des extraits de code dans le script principal ou les commenter, réalisant ainsi un assemblage de scripts Hook "en blocs". Parallèlement, le plugin intègre une gestion complète par projets (zafrida-project.xml), prenant en charge le basculement rapide entre plusieurs configurations d'appareils et d'environnements.
ZAFrida ne remplace pas Frida, mais agit comme une interface UI puissante pour frida-tools, s'intégrant de manière transparente à votre environnement Python et Frida existant.
Wiki simplifié : Wiki simplifié ZAFrida UI (BBS) (il s'agit du Wiki le plus simple)
Tutoriel détaillé : Wiki du tutoriel détaillé ZAFrida UI
Démonstration

Démarrage rapide
- Installer le plugin : Recherchez "ZAFrida" dans le marché des plugins de l'IDE ou installez-le depuis le disque.
- Configurer l'environnement par défaut : Utilisez par défaut l'interpréteur Python du projet PyCharm actuel ; les
Settings globaux -> Tools -> ZAFrida ne conservent que les valeurs par défaut du nom/chemin de l'outil.
- Créer un projet : Clic droit dans la vue projet ->
New Frida Project.
- Si ce projet nécessite une version différente de Frida, ouvrez les
Project Settings de ZAFrida, sélectionnez l'interpréteur Python ou le répertoire d'environnement et cliquez sur Test.
- Écrire/sélectionner un script : Dans le panneau Run, sélectionnez votre
agent.js ou agent.ts.
- Débogage Hook :
- Connectez l'appareil (USB, Remote ou Gadget).
- Sélectionnez le processus cible ou le nom du package.
- Cliquez sur Run.
- Utiliser les modèles : Basculez sur l'onglet
Templates, cochez les fonctions Hook dont vous avez besoin (par exemple "SSL Pinning Bypass"), le code sera automatiquement injecté dans votre script.
- Automatisation Skills (optionnel) : Désactivée par défaut. Allez dans
Settings/Preferences -> ZAFrida -> Skills HTTP API, cochez Enable Skills pour démarrer automatiquement l'API locale (vous pouvez aussi la démarrer/arrêter manuellement Start/Stop), emplacements CLI et modèles :
- Skill et CLI principal :
skills-template/zafrida-http-control/
- Lanceur de compatibilité d'ancien chemin :
skills-cli/zafrida_skill_cli.py
Code QR du groupe de discussion
Fonctionnalités
-
Gestion des appareils et des processus
Intègre frida-ls-devices et frida-ps, prend en charge l'actualisation en un clic de la liste des appareils, l'affichage des processus en cours, des applications en cours d'exécution ou des applications installées.
-
Connexion multi-modes
Prise en charge complète des modes USB / Remote / Gadget, avec prise en charge d'un Host et d'un Port distants personnalisés, sans avoir à assembler manuellement des paramètres de ligne de commande complexes.
-
Exécution interactive de scripts (Run / Attach)
- Prend en charge les actions d'exécution Run (Spawn par défaut) et Attach, plutôt qu'un simple "basculement de mode".
- Prend en charge Force Stop pour arrêter de force l'application cible.
- Sortie de journal de console intégrée, avec sauvegarde automatique des journaux dans le répertoire du projet
zafrida-logs/.
-
Menu contextuel de l'éditeur JS / TypeScript (important)
- Dans la zone d'édition des fichiers Frida
.js ou .ts, un clic droit permet de sélectionner directement :
- Run Frida Script : exécute le fichier actuel comme script principal (Spawn par défaut).
- Attach Frida Script : injecte le fichier actuel comme script d'attachement dans le processus cible déjà en cours d'exécution.
- Avant l'exécution, le fichier actuel est automatiquement enregistré et le projet ZAFrida auquel appartient le script est automatiquement activé.
- Idéal pour les PoC rapides, la validation de démos, le mode Gadget ou l'injection immédiate dans des processus déjà en cours.
- Raccourcis clavier :
- Windows / Linux :
Ctrl + Alt + S
- macOS :
⌘ + ⌥ + S
-
Insertion de snippets via le menu contextuel de l'éditeur
- Fournit ZAFrida Frida Snippets dans le menu contextuel de l'éditeur JS / TypeScript.
- Insertion en un clic d'extraits de code Frida courants, par exemple :
- Structure d'encapsulation
Java.perform
- Modèle de Hook de méthode Java
- Hook natif
Interceptor.attach
- L'insertion suit la WriteCommandAction de l'IDE, avec annulation/rétablissement sécurisé.
-
Système de modèles dynamiques (innovation clé)
- Modèles de Hook courants Android / iOS intégrés (tels que SSL Pinning Bypass, Method Hook, Native Hook).
- Contrôle par cases à cocher : cocher insère le code, décocher commente automatiquement le code, sans suppression ou modification manuelle.
- Prend en charge les modèles personnalisés, avec aperçu en temps réel du code du modèle dans l'IDE.