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.
Récupérer la clé du tableau de bytecode depuis le backend
Gardez la clé de déchiffrement du bytecode VM hors du client grâce à un getter de clé asynchrone qui la récupère depuis votre backend au chargement.
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.
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.
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.
É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.
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.
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.
