Obfuscation VM
L'obfuscation VM transforme vos fonctions JavaScript en bytecode sur mesure, exécuté par une machine virtuelle intégrée à la sortie : la logique protégée n'est donc plus livrée sous forme de JavaScript lisible.
La protection VM s'applique aux fonctions éligibles. En mode root, vmWrapTopLevelInitializers peut aussi envelopper les initialiseurs éligibles pour les virtualiser ; les préréglages VM actuels l'activent. Examinez les avertissements de couverture tels que VMNoFunctionsToVirtualize, et utilisez le mode comment pour sélectionner explicitement les fonctions sensibles.
L'obfuscation augmente le coût de la rétro-ingénierie sans la rendre impossible : conservez donc les secrets et les décisions de sécurité qui font autorité côté serveur - consultez Bonnes pratiques pour savoir ce que l'obfuscation peut et ne peut pas garantir.
Besoin d'aide ? Si l'obfuscation VM se comporte mal, consultez Diagnostiquer les erreurs d'exécution de la VM pour savoir comment isoler le problème et envoyer un rapport de bug.
Dans cette section
Compatibilité d'exécution
Adaptez le build à l'endroit où il s'exécute : l'option Target, les défenses à l'exécution et ce que la chaîne de build doit préserver.
Comment la VM transforme le code
Ce que la VM laisse visible ou masque, et comment protéger les noms de fonctions.
Cibler des fonctions spécifiques
N'appliquez l'obfuscation VM qu'aux fonctions sensibles pour des performances optimales.
Register-Based VM
Fait passer la VM à un modèle d'exécution à registres : plus rapide à l'exécution, au prix d'un bundle légèrement plus gros.
Async Executor
Exécutez la VM de manière asynchrone afin que la clé de déchiffrement du bytecode soit récupérée à l'exécution plutôt que livrée dans le bundle.
Compatibilité avec le mode strict
Déclarez le mode strict pour que la VM compile un bytecode correct.
Comportement de l'eval direct
Pourquoi un appel direct à eval() désactive l'obfuscation VM, et comment éviter ce piège.
VM Self Defending
Détection des altérations, contrôles d'intégrité du code et anti-hooking pour le runtime de la VM.
VM Debug Protection
Mesures anti-débogage pour le code protégé par VM.
VM Domain Lock
Restreignez le code VM obfusqué à des domaines et sous-domaines précis.
Browser Environment
Déclarez la manière dont votre build de production est servi pour que le code protégé puisse y lier son intégrité.
