Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Fermion — Fermion, an electron wrapper for Frida & Monaco. | Kitploit
أدوات/GitHubGitHub/fuzzysecurity/fermion
Android SecurityDynamic Analysis (Sandboxing)Dynamic Code Analysis (DAST)Mobile App PentestingReverse EngineeringDebuggersBinary Analysis
GitHubfuzzysecurity/fermion

Fermion

Fermion, an electron wrapper for Frida & Monaco.

عرض المستودع
70083منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CI stars forks release frida-node frida-gum

Fermion

Fermion هو تطبيق Electron يغلّف frida-node وmonaco-editor. يوفّر بيئة متكاملة بالكامل لبناء واختبار وتحسين نصوص Frida البرمجية من خلال واجهة مستخدم واحدة. ومع دمج Monaco، تحصل على جميع الميزات التي تتوقعها من Visual Studio Code: الفحص اللغوي (Linting)، IntelliSense، اختصارات لوحة المفاتيح، وغيرها. بالإضافة إلى ذلك، يمتلك Fermion تعريفًا للغة TypeScript خاصًا بواجهة Frida البرمجية، مما يسهّل كتابة نصوص Frida.

ماذا في الاسم؟: يمكن أن يكون الفيرميون جسيمًا أوليًا، مثل الإلكترون، أو جسيمًا مركبًا، مثل البروتون. تشمل الفيرميونات جميع الكواركات واللبتونات، بالإضافة إلى جميع الجسيمات المركبة المكوّنة من عدد فردي من هذه الجسيمات، مثل جميع الباريونات والعديد من الذرات والأنوية.

كيف تحصل على Fermion؟

تشغيل Fermion من المصدر

قم بتنزيل المستودع وانتقل إلى مجلد Fermion في الطرفية. بعد ذلك، عيّن متغيرات البيئة التالية.

root@kitploit:~
# Windows
set npm_config_runtime=electron
set npm_config_target=21.0.0

# Linux / OSX
export npm_config_runtime=electron
export npm_config_target=21.0.0

بعد ذلك، قم بتثبيت الحزم المطلوبة لتشغيل Fermion باستخدام:

root@kitploit:~
npm install

عند اكتمالها، يمكنك تشغيل Fermion بتنفيذ الأمر:

root@kitploit:~
npm start

تجميع حزمة إصدار

أكمل الخطوات أعلاه ثم نفّذ الأمر التالي من الطرفية:

root@kitploit:~
# Windows
electron-packager . --icon .\src\images\fermion-ico.ico

# Linux
electron-packager . --icon ./src/images/fermion-ico.png

# OSX
electron-packager . --icon ./src/images/fermion-ico.icns

الإصدارات

يمكنك الحصول على أحدث إصدار جاهز من Fermion لأنظمة Windows وLinux بمعمارية x64 من صفحة الإصدارات.

ملاحظات الأسئلة الشائعة

Windows

  • س: أريد حقن عملية بمستوى النظام SYSTEM، كيف يمكنني فعل ذلك؟
    • ج: كان بإمكانك سابقًا استخدام أدوات مثل psexec لتشغيل Fermion بصلاحيات SYSTEM، لكن منذ Electron v8 يؤدي ذلك إلى تجمّد Fermion. ما تحتاجه فعلًا هو تشغيل Fermion كمسؤول (Administrator) مع امتلاك صلاحيات SeDebugPrivilege. كحل بديل، يمكنك تشغيل PowerShell كمسؤول واستخدامه لتشغيل Fermion.

Linux

  • س: لا أستطيع الالتحاق بعملية قيد التشغيل؟
    • ج: قد تمنعك قيود النظام من الالتحاق، وعادةً سترى رسالة في Fermion تخبرك بالمشكلة وكيفية حلها. لكن بشكل عام، يمكنك تشغيل Fermion أو Frida Server كـ root، أو بدلًا من ذلك تشغيل الأمر التالي: sudo sysctl kernel.yama.ptrace_scope=0.

عام

  • س: أريد بناء نسختي الخاصة من Fermion مقابل إصدار جديد من Frida/Electron. كيف يمكنني معرفة prebuild الموجودة حاليًا؟

    • ج: يجب أن تلقي نظرة هنا، يمكنك التحقق من إصدار البناء الافتراضي في ELECTRON_TARGETS_DEFAULT وELECTRON_TARGETS_FREEBSD على التوالي.
  • س: أريد مراجعة/تغيير/تحديث تعريفات الأنواع المستخدمة في محرر Monaco، كيف يمكنني فعل ذلك؟

    • ج: يتم الآن التعامل مع هذا كجزء من عملية البناء، لذا يجب أن تكون تعريفات اللغة لديك محدّثة دائمًا. إذا أردت تعديل تعريفات اللغة الخاصة بالتطبيق يدويًا، يمكنك العثور عليها هنا node_modules/@types/frida-gum/index.d.ts.
  • س: لماذا لا يوجد trace مستقر يا رجل (╯°□°)╯︵ ┻━┻

    • ج: تتبّع الاستدعاءات (Call tracing) يستهلك موارد كثيرة. في معظم الحالات سيعمل بشكل جيد، لكن إذا كنت تتعقب hot pointer و/أو كان التتبّع يولّد رسومًا بيانية بآلاف العقد، فغالبًا ستجد أن trace window يعاني من بطء شديد أثناء استقبال البيانات. كما هو الحال مع أي نوع من التتبّع، يمكن أن يسبب عدم استقرار العملية / تعطّلها / تجمّدها.

حول

يمكنك رؤية مثال على عمل Fermion أدناه، وفي هذه الحالة يتم تطعيم kernel32!ReadFile.

Fermion

يدعم Fermion الإكمال التلقائي والفحص اللغوي ورموز Frida API.

Help

يمكن لـ Fermion الاتصال بخادم Frida لتصحيح أخطاء التطبيقات البعيدة باستخدام قائمة السياق device. في حالات كثيرة، مثل تصحيح الأخطاء عبر USB أو عند الالتحاق بتطبيقات الجوال من خلال محاكيات مثل genymotion، سيتعرف Fermion تلقائيًا على الخادم كمتاح. ومع ذلك، من الممكن أيضًا تحديد خادم بعيد باستخدام مجموعة IP وPort.

Server

لدى Fermion دعم مدمج لتتبّع CALL tracing للخيوط.

Trace

قد لا يقوم هذا بما تتوقعه تمامًا. عندما تحدّد إما pointer أو مجموعة module/Symbol، فإن المقتفي (tracer) سيقوم بعمل attach إلى ذلك الموقع، وفي أي وقت ينفّذ thread ما في ذلك المكان، سيبدأ في تتبّع جميع تعليمات CALL التي ينفذها ذلك الخيط حتى يعود. هذا يعني أن عمليات التنفيذ المختلفة يمكن أن تولّد رسومًا بيانية مختلفة، كما يعني أيضًا أنك قد لا ترى كل ما تقوم به الدالة (مثلًا، إذا تم إنشاء خيط مختلف داخل الدالة).

SVG

يحوّل Fermion هذه التتبّعات إلى صيغة Graphviz SVG باستخدام dot، ويمكنك بعدها استكشافها. هذه ميزة أجدها مفيدة أحيانًا عند القيام بأعمال استكشافية (ماذا تفعل الدالة؟ ما مدى تعقيد ذلك التنفيذ؟). ومع ذلك، فهذه ميزة prototype بنيتها فوق Fermion وربما تحتاج إلى مزيد من العناية لتكون أكثر جاهزية للإنتاج.

Docs

ملاحظات

سجل التغييرات

لمزيد من التفاصيل حول التغييرات الخاصة بكل إصدار، راجع changelog.

دعوة للمساهمة

إذا قمت بدمج Fermion في سير عملك ووجدته مفيدًا، أشجعك على تقديم pull requests، وإرسال تقارير الأخطاء، وطلب ميزات لتحسين التطبيق. أنا لست مطوّر Node محترفًا تمامًا، لذا أنا متأكد من أن الناس سيجدون طرقًا لتحسين وإعادة صياغة بعض المكونات.

خارطة الطريق

  • تنفيذ واجهة مدير أجهزة أكثر اكتمالًا.
  • إعادة تصميم الواجهة الرسومية.
  • قياس الرغبة في المزيد من الأدوات الأصلية المبنية فوق Fermion وإضافتها.
  • توسيع مدير الأجهزة للاستفادة من الميزات الجديدة المدمجة في Frida v15.0+.

شكر خاص

أود فقط أن أتقدم ببعض الشكر الخاص!

  • شكرٌ كبير لـ Ole André V. Ravnås على كل أعماله في Frida وعلى صبره الكبير في الإجابة على أسئلتي المبتدئة حول Frida وNodeJS وMonaco!
  • تحية أيضًا إلى mattahan. أستخدم أيقونة Buuf لحزمة Fermion الخاصة بنظام Windows. وأنا متأكد من أننا جميعًا استخدمنا بعض أيقوناته على أنظمة NIX على مر السنين.
  • شكرًا لـ @MiscMisty و@lez0sec و@berkayyildi على مساهمتهم بالوقت/الكود في Fermion!
تنزيل الأداة