التوثيق
/
تشويش VM
/

VM Self Defending

VM Self Defending

Pro
v6.2.0+

شاهد

Obfuscator.io Advanced Defenses: Self-Defending, Debug Protection, Domain Lock

شاهد على YouTube

يضيف الخيار vmSelfDefending إلى بيئة تشغيل الآلة الافتراضية كشفًا متعدد الطبقات للعبث، وفحوصًا لسلامة الكود، ومنعًا للاعتراض، وحماية من الهندسة العكسية. وعند دمجه مع vmDebugProtection، يجعل التحليل اليدوي والتحليل المدعوم بالذكاء الاصطناعي كليهما أصعب بكثير.

يفرض هذا الخيار تفعيل vmBytecodeArrayEncoding ويضيف عبئًا إلى تنفيذ الآلة الافتراضية. قِس أثره على مساراتك المتكررة.

تُشرح طريقة تفاعل كل عملية كشف، وكيفية إبلاغ الواجهة الخلفية لديك بعمليات الكشف بدلًا من الاكتفاء بتعطيل الكود، في قياسات دفاع VM وردود أفعاله؛ ويُصدر vmSelfDefending عمليات الكشف ضمن فئات ردود الأفعال automation وdebugger وtamper وintegrity.

موصى به: استخدمه مع vmDebugProtection وvmBytecodeArrayEncodingKey وvmBytecodeArrayEncodingKeyGetter للحصول على أقصى حماية.

التوافق مع بيئة التشغيل

كشف البيئات الحساسة

يربط هذا الخيار الكود المشوَّش ببيئة التشغيل المستهدفة، ويستخدم بصمات متقدمة للمتصفح لكشف أدوات الأتمتة. والكود المحمي بهذا الخيار سيتعطل عمدًا عند تشغيله في:

  • المتصفحات دون واجهة (Chrome/Chromium دون واجهة، وPhantomJS)
  • أدوات أتمتة المتصفح (Puppeteer وPlaywright وCypress وSelenium/ChromeDriver وNightmare)
  • Node.js (عندما يكون target مضبوطًا على browser)
  • jsdom أو ما يشبهه من محاكيات DOM على جهة الخادم
  • البيئات التي اعتُرضت فيها الدوال المدمجة الأصلية في المتصفح أو استُبدلت (ما لم يُصرَّح بذلك عبر browserEnvironment.hookedBuiltins)

أما في المتصفحات العادية (Chrome وFirefox وSafari وEdge) فسيعمل الكود بشكل صحيح، بما في ذلك عند تحميله داخل إطارات iframe، وإضافات المتصفح (content scripts)، وWeb Workers.

اختر target المطابق لبيئة التشغيل الفعلية. فبناءات المتصفح وNode تحتوي على دفاعات مختلفة: يحذف الهدف node الدفاعات التي تعتمد على واجهات خاصة بالمتصفح، وبناء browser الذي يُشغَّل تحت Node يتعطل كما ذُكر أعلاه.

عند ضبط browserEnvironment.hookedBuiltins على true (v7.15.0+)، يتسامح Self Defending مع بيئة تشغيل تستبدل الدوال المدمجة الأصلية بأغلفة JavaScript لأسباب مشروعة بدلًا من اعتبارها عبثًا، فيظل الكود المحمي يعمل هناك. وهذا يخفف عمدًا كشف اعتراض الدوال المدمجة؛ أما التحويل إلى الآلة الافتراضية ومكافحة التنقيح وحماية السلامة فلا تتأثر. ويربط الحقل transport في الخيار نفسه البناءَ بالبروتوكول الذي يُقدَّم عبره.

يفحص Self Defending سلامة ناتجه، لذا لا تصغّر الكود المشوَّش أو تنسّقه أو تعِد كتابته بأي شكل بعد ذلك. شغّل تلك الأدوات على كودك المصدري قبل خطوة التشويش.

الاختبار وCI

تعمل هذه الدفاعات أيضًا ضد وكلائك وأدوات الأتمتة والمنقِّحات الخاصة بك. فقد توقف التنفيذ، أو ترمي أخطاء لا علاقة لها بالسبب، أو تُنتج نتائج غير صحيحة. صُمم هذا الخيار لمنع التحليل الآلي، ولا يمكن استخدامه بأمان مع أي إطار أتمتة، لذا شغّل الاختبارات الوظيفية على بناء اختبار منفصل يكون فيه vmSelfDefending معطّلًا. وتسرد صفحة الاختبار وCI المجموعة الكاملة من التجاوزات لذلك البناء.