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

साइडबार पैनल में कनेक्टेड डिवाइस पर ऐप्स और प्रोसेस की सूची देखें। अटैच करने, लोकल टारगेट के लिए एलिवेटेड प्रिविलेज के साथ अटैच करने, स्पॉन करने, सस्पेंडेड मोड में स्पॉन करने, प्रोसेस को किल करने, या डिवाइस/प्रोसेस जानकारी क्लिपबोर्ड पर कॉपी करने के लिए राइट-क्लिक करें। लोकल, Apple Simulator, USB, और रिमोट डिवाइस का समर्थन करता है। लोकल प्रोसेस प्रविष्टियों में उपलब्ध होने पर executable path, owner, parent PID, और arguments जैसे best-effort मेटाडेटा शामिल होते हैं।
किसी भी अटैच किए गए प्रोसेस के लिए लोड किए गए नेटिव मॉड्यूल और उनके एक्सपोर्ट किए गए फंक्शन ब्राउज़ करें। नाम से मॉड्यूल फ़िल्टर करें, बेस एड्रेस, साइज़, और पाथ का निरीक्षण करें, फिर हुक जनरेशन के लिए एक्सपोर्ट चुनें।
Java और Objective-C दोनों के लिए रनटाइम क्लासेस और मेथड्स का अन्वेषण करें। क्लासेस फ़िल्टर करें, own और inherited मेथड्स के बीच टॉगल करें, और हुक जनरेशन के लिए मेथड्स को बैच-सेलेक्ट करें। इसमें 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>'] — मेथड सेलेक्टर पूर्ण करता हैObjC.classes.Foo.method — क्लास मेथड सेलेक्टर पूर्ण करता हैJava.use('<ClassName>') — Java क्लास नाम पूर्ण करता हैProcess.getModuleByName('<name>') — लोड किए गए मॉड्यूल नाम पूर्ण करता हैलैंग्वेज सर्वर एक टारगेट प्रोसेस कॉन्टेक्स्ट पर निर्भर करता है। आपको अपने वर्कस्पेस में एक कॉन्फ़िगरेशन फ़ाइल .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, एक Simulator या USB डिवाइस ID, या रिमोट डिवाइस के लिए host:port स्ट्रिंग।
LSP इस फ़ाइल में परिवर्तनों को देखता है। इसे संपादित करने या फिर से बनाने पर लैंग्वेज सर्वर स्वचालित रूप से नए टारगेट के साथ पुनः आरंभ हो जाता है।
अटैच किए गए प्रोसेस से रीयल-टाइम एप्लिकेशन लॉग स्ट्रीम करें।
ब्रेकपॉइंट के साथ Frida स्क्रिप्ट डीबग करने के लिए VSCode launch.json और tasks.json जनरेट करें।
Android डिवाइस के लिए, Open Shell adb shell का रैपर है।
iOS के लिए यह जेलब्रोकन डिवाइस पर SSH शेल देता है। क्रेडेंशियल कॉन्फ़िगर करने की आवश्यकता हो सकती है।
साइडबार से सीधे host:port के माध्यम से रिमोट Frida डिवाइस से कनेक्ट करें।