
إضافة frida غير رسمية لـ VSCode
هذا مشروع مساهم به من المجتمع، وليس تابعًا لفريق Frida الرسمي. تم تطويره وصيانته بواسطة @CodeColorist كإضافة مفتوحة المصدر لـ Visual Studio Code لتحسين تجربة كتابة سكريبتات Frida.
inetcat لبدء صدفة SSH)إذا كنت تستخدم Windows، فأنت بحاجة إلى إبقاء iTunes مفتوحًا للتفاعل مع أجهزة iOS عبر USB.
بسبب PEP0668، قد تواجه خطأً عند تشغيل pip3 install frida-tools بشكل عام.
الطريقة الموصى بها هي فتح مجلد (مساحة عمل) في VSCode، ثم إنشاء بيئة افتراضية وتفعيلها باستخدام إضافة Python. في هذه الحالة، ستستخدم الإضافة بيئة Python الافتراضية النشطة حاليًا لديك لتحميل أوامر frida.
بدلاً من ذلك، يمكنك استخدام مدير حزم مثل pipx أو UV لتثبيته في $PATH، مع إبقائه معزولًا.

اعرض قائمة التطبيقات والعمليات على الأجهزة المتصلة في لوحة جانبية. انقر بزر الفأرة الأيمن للربط، أو الربط بصلاحيات مرتفعة للأهداف المحلية، أو التشغيل، أو التشغيل في وضع التعليق، أو إنهاء العمليات، أو نسخ معلومات الجهاز/العملية إلى الحافظة. يدعم الأجهزة المحلية ومحاكي Apple وأجهزة USB والأجهزة البعيدة. تتضمن إدخالات العمليات المحلية بيانات وصفية بأفضل جهد ممكن مثل مسار الملف التنفيذي والمالك ومعرّف العملية الأب والوسائط عند توفرها.
تصفح الوحدات الأصلية المحمّلة ودوالها المصدّرة لأي عملية مرتبطة. صفِّ الوحدات حسب الاسم، وافحص العنوان الأساسي والحجم والمسار، ثم اختر التصديرات لتوليد الـ hook.
استكشف أصناف وطرق وقت التشغيل لكل من Java وObjective-C. صفِّ الأصناف، وبدّل بين الطرق الخاصة والموروثة، واختر الطرق دفعة واحدة لتوليد الـ hook. يتضمن أيضًا فحص بروتوكولات Objective-C لتصفح وتحليل البروتوكولات.
استخرج ترويسات الأصناف للهندسة العكسية:
ولّد كود Frida hook من لوحتي الوحدات والأصناف:
Interceptor.attach() مع استدعاءات onEnter / onLeave للدوال المصدّرةJava.perform() / Java.use() مع دعم تحميل الطرق المتعددإكمالات واعية بالسياق لسكريبتات Frida في JavaScript / TypeScript:
ObjC.classes.<ClassName> — يكمل أسماء أصناف Objective-CObjC.classes.Foo['<method>'] — يكمل محدِّدات الطرقObjC.classes.Foo.method — يكمل محدِّدات طرق الصنفJava.use('<ClassName>') — يكمل أسماء أصناف JavaProcess.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"
}
الربط بمعرّف العملية (مفيد عندما تتشارك عمليات متعددة الاسم نفسه):
{
"device": "local",
"pid": 1234
}
تتوافق قيمة device مع معرّف جهاز Frida — local للجهاز المضيف، أو معرّف محاكي أو جهاز USB، أو سلسلة host:port للأجهزة البعيدة.
يراقب LSP هذا الملف بحثًا عن التغييرات. يؤدي تعديله أو إعادة إنشائه إلى إعادة تشغيل خادم اللغة تلقائيًا مع الهدف الجديد.
بث سجلات التطبيق في الوقت الفعلي من العمليات المرتبطة.
ولّد launch.json وtasks.json الخاصين بـ VSCode لتصحيح سكريبتات Frida مع نقاط التوقف.
بالنسبة لأجهزة Android، Open Shell هو غلاف لـ adb shell.
بالنسبة لـ iOS، يوفر صدفة SSH على الأجهزة المكسورة الحماية. قد تحتاج إلى إعداد بيانات الاعتماد.
اتصل بأجهزة Frida البعيدة عبر host:port مباشرة من الشريط الجانبي.