Recettes
Des guides de bout en bout, assumés et directifs, pour les problèmes d'intégration courants de javascript-obfuscator. Chaque recette explique comment combiner les options pour obtenir un résultat précis, plutôt que de documenter les réglages un par un.
Choisissez la recette qui correspond au problème que vous cherchez à résoudre. D'autres recettes seront ajoutées au fil du temps - si vous rencontrez un scénario d'intégration qui n'est pas traité ici, dites-le-nous et nous le documenterons.
Dans cette section
Bonnes pratiques
Ce qu'il faut protéger, ce qu'il vaut mieux laisser tel quel, et ce que l'obfuscation ne peut pas faire pour vous.
Substitution de gabarits côté serveur
Injectez des valeurs rendues côté serveur dans du JavaScript obfusqué par VM à l'aide de reservedNames et reservedStrings.
Clé d'encodage du tableau de bytecode
Fournissez votre propre clé de chiffrement du bytecode de la VM avec vmBytecodeArrayEncodingKey et résolvez-la à l'exécution via un getter de clé — depuis le stockage client ou récupérée depuis votre backend.
Télémétrie et réactions des défenses VM
Remontez les détections des défenses VM vers votre backend avec vmDefenseHook, et réglez la réaction de chaque catégorie de détection avec vmDefenseReaction.
Masquer les noms de fonctions à l'analyse par LLM
Pourquoi le code obfusqué par VM peut divulguer des noms de fonctions parlants à un LLM, et comment une IIFE supprime cette fuite.
Obfuscation VM avec eval et new Function
Comment l'obfuscation VM gère les appels directs à eval et au constructeur Function, ce qui est converti en bytecode ou ignoré, les avertissements émis par l'obfuscateur, et comment diagnostiquer une ReferenceError à l'exécution.
Éviter les collisions d'identifiants
Pourquoi regrouper plusieurs fichiers obfusqués par VM peut déclencher « Identifier already declared » à l'analyse syntaxique, et comment y remédier avec des identifiants aléatoires ou hexadécimaux.
Diagnostiquer les erreurs d'exécution de la VM
Liste de contrôle étape par étape pour les erreurs d'exécution de la VM comme « Invalid array length », afin de distinguer une mauvaise configuration du ciblage ou de l'auto-défense d'un véritable bug.
