استهداف دوال بعينها
للحصول على أفضل أداء، طبّق تشويش VM على أكثر أجزاء كودك حساسية فقط باستخدام vmTargetFunctionsMode.
شاهد
Obfuscator.io: Targeting Functions in VM Obfuscation (IIFE and Comment Mode)
لتطبيق تشويش VM على الدوال التي تميّزها فقط، فعّل وضع التعليقات:
وضع التعليقات (موصى به)
اضبط vmTargetFunctionsMode: 'comment' لتطبيق تشويش VM فقط على الدوال المميَّزة بتعليق خاص. ويعمل ذلك على أي مستوى تداخل.
مثالي لحماية فحوص الترخيص أو منطق المصادقة أو الخوارزميات المملوكة، مع الإبقاء على أداء بقية كودك.
يجب أن تبقى تعليقات /* javascript-obfuscator:vm */ موجودة في الكود الذي يستلمه المشوِّش. فإذا عمل مترجِم أو أداة تجميع أو أداة تصغير قبله، فاضبطها كي تحتفظ بهذه التعليقات. فالتعليق المحذوف يعني أن تلك الدالة لن تُحوَّل إلى الآلة الافتراضية، وإذا لم تبقَ أي علامة على الإطلاق، يفشل التشويش مع الخطأ "no functions are marked with the /* javascript-obfuscator:vm */ directive".
وضع الجذر (الافتراضي)
لا تؤخذ في الحسبان إلا الدوال الموجودة على مستوى الجذر (ومع تفعيل خيار Async Executor، تؤخذ بدلًا منها الدوال async الخارجية على أي عمق، وتنطبق عليها قوائم الأسماء أدناه). استخدم vmTargetFunctions لإدراج دوال بأسمائها في قائمة سماح، أو vmExcludeFunctions لاستبعاد دوال بأسمائها.
لا تطابق الأسماء إلا تصريحات الدوال وتعبيرات الدوال المسمّاة. فالدالة المُسندة إلى متغير (const checkAuth = () => {}) ليس لها اسم يُطابَق: تتخطاها قائمة السماح ولا تستبعدها قائمة المنع. استخدم وضع التعليقات لمثل هذه الدوال.
