
zafrida-ui v0.3.7
PyCharm / JetBrains IDE के अंदर एक Frida UI टूल विंडो।
中文 | English
ZAFrida UI - PyCharm Frida Plugin
वर्तमान संस्करण: 0.3.7
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 अनुकूलन परत को हटाया गया।
परियोजना परिचय
PyCharm/IntelliJ के लिए डिज़ाइन किया गया Frida ग्राफिकल टूल
ZAFrida UI PyCharm और JetBrains श्रृंखला IDE में एकीकृत एक Frida ग्राफिकल ऑपरेशन प्लगइन है। इसका उद्देश्य Frida कमांड लाइन संचालन की जटिलता और स्क्रिप्ट प्रबंधन की अव्यवस्था की समस्या को हल करना है, और डिवाइस, प्रक्रिया, स्क्रिप्ट और लॉग प्रबंधित करने के लिए एक पूर्ण UI इंटरैक्शन इंटरफ़ेस प्रदान करता है।
मुख्य विशेषता इसकी "चेकबॉक्स-शैली" टेम्पलेट प्रबंधन प्रणाली है: उपयोगकर्ता चेक/अनचेक करके कोड स्निपेट को मुख्य स्क्रिप्ट में गतिशील रूप से सम्मिलित कर सकते हैं या उन्हें कमेंट कर सकते हैं, जिससे "ब्लॉक-निर्माण" Hook स्क्रिप्ट असेंबली प्राप्त होती है। साथ ही, प्लगइन में पूर्ण प्रोजेक्ट-आधारित प्रबंधन (zafrida-project.xml) अंतर्निहित है, जो मल्टी-डिवाइस, मल्टी-वातावरण कॉन्फ़िगरेशन के त्वरित स्विचिंग का समर्थन करता है।
ZAFrida Frida का विकल्प नहीं है, बल्कि frida-tools के लिए एक शक्तिशाली UI शेल है, जो आपके मौजूदा Python और Frida वातावरण से सहज रूप से जुड़ता है।
सरल Wiki: ZAFrida UI सरल Wiki (BBS) (यह अधिक सरल Wiki है) विस्तृत उपयोग ट्यूटोरियल: ZAFrida UI विस्तृत उपयोग ट्यूटोरियल Wiki
प्रभाव प्रदर्शन

त्वरित आरंभ
- प्लगइन इंस्टॉल करें: IDE प्लगइन मार्केटप्लेस में "ZAFrida" खोजें या डिस्क से इंस्टॉल करें।
- डिफ़ॉल्ट वातावरण कॉन्फ़िगर करें: डिफ़ॉल्ट रूप से वर्तमान PyCharm प्रोजेक्ट के Python Interpreter का उपयोग करें; वैश्विक
Settings->Tools->ZAFridaकेवल टूल नाम/पथ डिफ़ॉल्ट मान रखता है। - प्रोजेक्ट बनाएं: प्रोजेक्ट व्यू में राइट-क्लिक करें ->
New Frida Project।- यदि प्रोजेक्ट को अलग Frida संस्करण की आवश्यकता है, तो ZAFrida
Project Settingsखोलें, Python इंटरप्रेटर या वातावरण निर्देशिका चुनें औरTestपर क्लिक करें।
- यदि प्रोजेक्ट को अलग Frida संस्करण की आवश्यकता है, तो ZAFrida
- स्क्रिप्ट लिखें/चुनें: Run पैनल में अपना
agent.jsयाagent.tsचुनें। - Hook डिबगिंग:
- डिवाइस कनेक्ट करें (USB या Remote या Gadget)।
- लक्ष्य प्रक्रिया या पैकेज नाम चुनें।
- Run पर क्लिक करें।
- टेम्पलेट का उपयोग करें:
Templatesटैब पर स्विच करें, अपनी आवश्यक Hook सुविधाएँ चुनें (जैसे "SSL Pinning Bypass"), कोड स्वचालित रूप से आपकी स्क्रिप्ट में इंजेक्ट हो जाएगा। - 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
- Skill और मुख्य CLI:
संचार समूह QR कोड
फीचर विशेषताएँ
-
डिवाइस और प्रक्रिया प्रबंधन
frida-ls-devicesऔरfrida-psएकीकृत, एक-क्लिक डिवाइस सूची रीफ्रेश, चल रही प्रक्रियाएँ, चल रहे App या इंस्टॉल किए गए एप्लिकेशन देखने का समर्थन। -
मल्टी-मोड कनेक्शन
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
- Windows / Linux:
- Frida
-
एडिटर राइट-क्लिक Snippets सम्मिलन
- JS / TypeScript एडिटर राइट-क्लिक मेनू में ZAFrida Frida Snippets प्रदान करता है।
- एक-क्लिक में सामान्य Frida कोड स्निपेट सम्मिलित करें, जैसे:
Java.performरैपर संरचना- Java विधि Hook टेम्पलेट
Interceptor.attachNative Hook
- सम्मिलन प्रक्रिया IDE WriteCommandAction का पालन करती है, सुरक्षित रूप से Undo/Redo किया जा सकता है।
-
गतिशील टेम्पलेट प्रणाली (मुख्य नवाचार)
- अंतर्निहित Android / iOS सामान्य Hook टेम्पलेट (जैसे 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 वातावरण विश्लेषण
- डिफ़ॉल्ट रूप से वर्तमान PyCharm प्रोजेक्ट के Python SDK का विश्लेषण करता है; प्रत्येक ZAFrida Project इंटरप्रेटर या वातावरण निर्देशिका को अलग से ओवरराइड कर सकता है।
- स्थानीय system/pyenv, venv/virtualenv, Conda, uv, Poetry, Pipenv, Hatch वातावरण का समर्थन।
- कई ZAFrida Project एक ही पथ चुनकर वातावरण साझा कर सकते हैं, venv कॉपी करने की आवश्यकता नहीं; Frida 16/17 वातावरण अलग-अलग बनाए रखने के लिए उपयुक्त।
- वर्तमान IDE वातावरण या स्पष्ट प्रोजेक्ट वातावरण में
frida-toolsनहीं होने पर सीधे त्रुटि दिखाई जाती है, सिस्टम PATH के दूसरे संस्करण का चुपचाप उपयोग नहीं होता;Testवास्तविक Frida संस्करण दिखा सकता है। - SSH, Docker, Docker Compose, WSL जैसे रिमोट Python Interpreter वर्तमान में स्थानीय Frida सबप्रोसेस के लिए उपयोग नहीं किए जा सकते।
-
Frida 17 / TypeScript
- फ़ाइल चयन, राइट-क्लिक Run/Attach और Snippets
.js/.tsका समर्थन करते हैं; Frida 17 का REPL-l agent.tsको स्वचालित रूप से संकलित करेगा। - अंतर्निहित टेम्पलेट Frida 17 के आधुनिक Module/NativePointer API में स्थानांतरित हो गए हैं, साथ ही Frida 16 सामान्य वातावरण उपयोग योग्य बना हुआ है।
- frida-tools REPL मानक Java/ObjC bridges के साथ संगतता रखता है; npm/थर्ड-पार्टी मॉड्यूल
importका उपयोग करते समयfrida-create -t agentया समकक्ष प्रोजेक्ट के माध्यम से निर्भरताएँ प्रबंधित करें।
- फ़ाइल चयन, राइट-क्लिक Run/Attach और Snippets
-
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 App पेनेट्रेशन टेस्टिंग और रिवर्स विश्लेषण।
- विभिन्न 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
प्रोजेक्ट प्रारंभ करें
- स्रोत कोड क्लोन करें:
git clone https://github.com/yilongmd/zafrida-ui.git - IntelliJ IDEA से प्रोजेक्ट खोलें।
- डिबग वातावरण प्रारंभ करने के लिए Gradle कार्य
runIdeचलाएँ।
सिस्टम प्रभाव
मुख्य इंटरफ़ेस और रन पैनल (Run Panel)
डिवाइस चयन, स्क्रिप्ट चयन, रन मोड कॉन्फ़िगरेशन और कंसोल आउटपुट प्रदान करता है।

गतिशील टेम्पलेट प्रबंधन (Template Panel)
बाईं ओर श्रेणी चुनें, बीच में टेम्पलेट चेक करें, दाईं ओर वास्तविक समय में कोड पूर्वावलोकन। चेकबॉक्स सीधे स्क्रिप्ट सामग्री की सक्रियता को नियंत्रित करते हैं।

सेटिंग्स इंटरफ़ेस (Settings)
कस्टम Frida टूल पथ, रिमोट कनेक्शन पता और लॉग कॉन्फ़िगरेशन का समर्थन।

प्रोजेक्ट निर्माण विज़ार्ड
मानकीकृत Frida प्रोजेक्ट संरचना का त्वरित निर्माण।

तकनीकी वास्तुकला
विकास वातावरण
- भाषा: Java 21, Java, बिल्ड स्क्रिप्ट Gradle Kotlin DSL का उपयोग करती है
- फ्रेमवर्क: IntelliJ Platform SDK
- बिल्ड टूल: Gradle
- निर्भरताएँ:
fridafrida-tools(Python environment)
आभार
इस प्रोजेक्ट के लिए Frida JS स्क्रिप्ट टेम्पलेट समर्थन प्रदान करने के लिए निम्नलिखित विशेषज्ञों का विशेष धन्यवाद:
- 小佳
- Lane
- 迷人
अधिक योगदानकर्ता और आभार जानकारी के लिए देखें: CONTRIBUTORS.md