Détection d'environnement sensible
Cette option lie le code obfusqué à son environnement d'exécution cible et recourt au fingerprinting avancé du navigateur pour détecter les outils d'automatisation. Le code protégé par cette option cessera intentionnellement de fonctionner s'il est exécuté dans :
un navigateur headless (Chrome/Chromium headless, PhantomJS)
un outil d'automatisation de navigateur (Puppeteer, Playwright, Cypress, Selenium/ChromeDriver, Nightmare)
Node.js (lorsque target vaut browser)
jsdom ou toute autre émulation du DOM côté serveur
un environnement où les fonctions natives du navigateur ont été interceptées ou remplacées
Le code fonctionnera correctement dans les navigateurs classiques (Chrome, Firefox, Safari, Edge), y compris lorsqu'il est chargé dans des iframes, des extensions de navigateur (content scripts) et des Web Workers. Si vous devez exécuter des tests automatisés sur du code protégé, désactivez vmSelfDefending pour les builds de test - cette option est conçue pour empêcher l'analyse automatisée et ne peut être utilisée en toute sécurité avec aucun framework d'automatisation.