
अनौपचारिक VSCode के लिए frida एक्सटेंशन
Repository | Issues | Install
यह एक सामुदायिक योगदान वाला प्रोजेक्ट है, जो आधिकारिक Frida टीम से संबद्ध नहीं है। इसे @CodeColorist द्वारा Visual Studio Code के लिए एक ओपन-सोर्स एक्सटेंशन के रूप में विकसित और अनुरक्षित किया जाता है, ताकि Frida स्क्रिप्टिंग अनुभव को बेहतर बनाया जा सके।
inetcat कमांड द्वारा SSH शेल शुरू करने के लिए)यदि आप Windows पर हैं, तो USB के माध्यम से iOS डिवाइसों के साथ इंटरैक्ट करने के लिए आपको iTunes को खुला रखना होगा।
PEP0668 के कारण, pip3 install frida-tools को वैश्विक रूप से चलाने पर आपको एक त्रुटि का सामना करना पड़ सकता है।
अनुशंसित तरीका यह है कि VSCode में एक फ़ोल्डर (workspace) खोलें, फिर Python एक्सटेंशन का उपयोग करके एक वर्चुअल वातावरण बनाएँ और सक्रिय करें। इस स्थिति में, एक्सटेंशन frida कमांड लोड करने के लिए आपके वर्तमान सक्रिय Python venv का उपयोग करेगा।
वैकल्पिक रूप से, आप इसे $PATH में इंस्टॉल करने के लिए pipx या UV जैसे पैकेज मैनेजर का उपयोग कर सकते हैं, जबकि इसे अलग-थलग रखा जा सके।

साइडबार पैनल में कनेक्टेड डिवाइसों पर ऐप्स और प्रोसेस की सूची दिखाएँ। अटैच करने के लिए राइट-क्लिक करें, स्थानीय लक्ष्यों के लिए उन्नत विशेषाधिकारों के साथ अटैच करें, स्पॉन करें, सस्पेंडेड मोड में स्पॉन करें, प्रोसेस को kill करें, या डिवाइस/प्रोसेस जानकारी को क्लिपबोर्ड पर कॉपी करें। स्थानीय, USB और रिमोट डिवाइसों को सपोर्ट करता है। स्थानीय प्रोसेस प्रविष्टियों में उपलब्ध होने पर executable path, owner, parent PID और arguments जैसे best-effort मेटाडेटा शामिल होते हैं।
किसी भी अटैच की गई प्रोसेस के लिए लोड किए गए नेटिव मॉड्यूल और उनके exported functions ब्राउज़ करें। मॉड्यूल को नाम से फ़िल्टर करें, base address, size और path देखें, फिर हुक जनरेशन के लिए exports चुनें।
Java और Objective-C दोनों के लिए रनटाइम क्लास और मेथड्स एक्सप्लोर करें। क्लास फ़िल्टर करें, अपने और इनहेरिटेड मेथड्स के बीच टॉगल करें, और हुक जनरेशन के लिए मेथड्स को batch-select करें। Objective-C प्रोटोकॉल निरीक्षण भी शामिल है, जिससे प्रोटोकॉल ब्राउज़ और विश्लेषण किए जा सकते हैं।
रिवर्स इंजीनियरिंग के लिए क्लास हेडर डंप करें:
Modules और Classes पैनल से Frida हुक कोड जनरेट करें:
onEnter / onLeave कॉलबैक के साथ Interceptor.attach()Java.perform() / Java.use() हुकJavaScript / TypeScript में Frida स्क्रिप्ट्स के लिए संदर्भ-जागरूक पूर्णताएँ:
ObjC.classes.<ClassName> — Objective-C क्लास नाम पूरे करता हैObjC.classes.Foo['<method>'] — मेथड selectors पूरे करता हैObjC.classes.Foo.method — क्लास मेथड selectors पूरे करता हैJava.use('<ClassName>') — Java क्लास नाम पूरे करता हैProcess.getModuleByName('<name>') — लोड किए गए मॉड्यूल नाम पूरे करता हैलैंग्वेज सर्वर एक लक्ष्य प्रोसेस संदर्भ पर निर्भर करता है। आपको अपने workspace में एक कॉन्फ़िगरेशन फ़ाइल .vscode/frida.json बनानी होगी। सबसे आसान तरीका है साइडबार में किसी प्रोसेस या ऐप पर राइट-क्लिक करके Set LSP Target चुनना, जो फ़ाइल को स्वचालित रूप से जनरेट करता है।
.vscode/frida.json कॉन्फ़िगरेशनफ़ाइल निर्दिष्ट करती है कि LSP को किस डिवाइस और लक्ष्य से अटैच होना चाहिए। इसमें एक device फ़ील्ड और app, pid, या process में से ठीक एक की आवश्यकता होती है।
ऐप पहचानकर्ता द्वारा अटैच करें (अनुशंसित — ऐप को स्पॉन या अटैच करता है):
{
"device": "local",
"app": "com.example.myapp"
}
प्रोसेस नाम द्वारा अटैच करें:
{
"device": "local",
"process": "myprocess"
}
PID द्वारा अटैच करें (उपयोगी जब कई प्रोसेस एक ही नाम साझा करते हैं):
{
"device": "local",
"pid": 1234
}
device मान Frida डिवाइस ID से मेल खाता है — होस्ट मशीन के लिए local, USB-कनेक्टेड डिवाइस के लिए usb, या रिमोट डिवाइसों के लिए host:port स्ट्रिंग।
LSP इस फ़ाइल में परिवर्तनों पर नज़र रखता है। इसे संपादित करने या फिर से बनाने पर नए लक्ष्य के साथ लैंग्वेज सर्वर स्वचालित रूप से पुनः आरंभ होता है।
अटैच की गई प्रोसेस से रीयल-टाइम एप्लिकेशन लॉग स्ट्रीम करें।
ब्रेकपॉइंट्स के साथ Frida स्क्रिप्ट डीबग करने के लिए VSCode launch.json और tasks.json जनरेट करें।
Android डिवाइसों के लिए, Open Shell adb shell का एक रैपर है।
iOS के लिए यह jailbroken डिवाइसों पर एक SSH शेल देता है। क्रेडेंशियल्स कॉन्फ़िगर करने की आवश्यकता हो सकती है।
साइडबार से सीधे host:port के माध्यम से रिमोट Frida डिवाइसों से कनेक्ट करें।