विशिष्ट फ़ंक्शन्स को लक्षित करना
बेहतरीन प्रदर्शन के लिए vmTargetFunctionsMode की मदद से केवल अपने सबसे संवेदनशील कोड को VM-ऑब्फ़स्केट करें।
देखें
Obfuscator.io: Targeting Functions in VM Obfuscation (IIFE and Comment Mode)
केवल आपके द्वारा चिह्नित फ़ंक्शन्स को VM-ऑब्फ़स्केट करने के लिए comment मोड चालू करें:
comment मोड (अनुशंसित)
केवल उन फ़ंक्शन्स को VM-ऑब्फ़स्केट करने के लिए जिन पर एक विशेष कमेंट लगा हो, vmTargetFunctionsMode: 'comment' सेट करें। यह किसी भी नेस्टिंग स्तर पर काम करता है।
यह लाइसेंस जाँच, ऑथेंटिकेशन लॉजिक या मालिकाना एल्गोरिदम की सुरक्षा के लिए एकदम सही है, जबकि आपके बाकी कोड का प्रदर्शन अच्छा बना रहता है।
/* javascript-obfuscator:vm */ कमेंट्स उस कोड में मौजूद रहने चाहिए जो ऑब्फ़स्केटर को मिलता है। अगर पहले कोई कंपाइलर, बंडलर या मिनिफ़ायर चलता है, तो उसे इन कमेंट्स को बनाए रखने के लिए कॉन्फ़िगर करें। कमेंट हट जाने का मतलब है कि वह फ़ंक्शन वर्चुअलाइज़ नहीं होगा, और अगर एक भी मार्कर नहीं बचता, तो ऑब्फ़स्केशन "no functions are marked with the /* javascript-obfuscator:vm */ directive" एरर के साथ विफल हो जाता है।
root मोड (डिफ़ॉल्ट)
केवल रूट-लेवल के फ़ंक्शन्स पर विचार किया जाता है (Async Executor चालू होने पर इसके बजाय किसी भी गहराई पर सबसे बाहरी async फ़ंक्शन्स; नीचे दी गई नाम-सूचियाँ उन्हीं पर लागू होती हैं)। नाम के आधार पर फ़ंक्शन्स को अनुमति-सूची में डालने के लिए vmTargetFunctions और बाहर रखने के लिए vmExcludeFunctions का उपयोग करें।
नाम केवल फ़ंक्शन डिक्लेरेशन और नाम वाले फ़ंक्शन एक्सप्रेशन से मेल खाते हैं। किसी वेरिएबल को असाइन किए गए फ़ंक्शन (const checkAuth = () => {}) का मिलाने के लिए कोई नाम नहीं होता: अनुमति-सूची उसे छोड़ देती है और बहिष्कार-सूची उसे बाहर नहीं रखती। ऐसे फ़ंक्शन्स के लिए comment मोड का उपयोग करें।
