Cibler des fonctions spécifiques
Pour des performances optimales, n'obfusquez par la VM que votre code le plus sensible à l'aide de vmTargetFunctionsMode.
Regarder
Obfuscator.io: Targeting Functions in VM Obfuscation (IIFE and Comment Mode)
Pour n'obfusquer par la VM que les fonctions que vous signalez, activez le mode comment :
Mode comment (recommandé)
Définissez vmTargetFunctionsMode: 'comment' pour n'obfusquer par la VM que les fonctions signalées par un commentaire spécial. Fonctionne à n'importe quel niveau d'imbrication.
Idéal pour protéger les vérifications de licence, la logique d'authentification ou des algorithmes propriétaires tout en conservant de bonnes performances pour le reste de votre code.
Les commentaires /* javascript-obfuscator:vm */ doivent encore figurer dans le code que reçoit l'obfuscateur. Si un compilateur, un bundler ou un minifieur s'exécute avant, configurez-le pour conserver ces commentaires. Un commentaire supprimé signifie que la fonction concernée n'est pas virtualisée, et si aucun marqueur ne subsiste, l'obfuscation échoue avec l'erreur « no functions are marked with the /* javascript-obfuscator:vm */ directive ».
Mode root (par défaut)
Seules les fonctions de premier niveau sont prises en compte (avec Async Executor activé, ce sont plutôt les fonctions async les plus externes, à n'importe quelle profondeur ; les listes de noms ci-dessous s'appliquent à celles-ci). Utilisez vmTargetFunctions pour établir une liste d'autorisation ou vmExcludeFunctions pour exclure des fonctions par leur nom.
Les noms ne correspondent qu'aux déclarations de fonctions et aux expressions de fonctions nommées. Une fonction affectée à une variable (const checkAuth = () => {}) n'a pas de nom à faire correspondre : une liste d'autorisation l'ignore et une liste d'exclusion ne l'exclut pas. Utilisez le mode comment pour ces fonctions.
