Control Flow Flattening
Transforme la structure du code pour masquer le déroulement d'origine du programme. L'analyse manuelle devient bien plus difficile, car le code linéaire est converti en machine à états reposant sur une instruction switch.
Cette option peut ralentir sensiblement l'exécution ; mesurez son impact sur votre propre code. Utilisez controlFlowFlatteningThreshold pour définir la proportion de nœuds aplatis ; des valeurs plus basses préservent davantage les performances.
Control Flow Flattening se combine avec les autres options de base et avec l'obfuscation VM. Lorsque vmObfuscation est activé, la virtualisation s'exécute en premier, puis Control Flow Flattening s'applique au JavaScript restant, comme les fonctions non sélectionnées pour la VM ; le code déjà compilé en bytecode n'est pas aplati.
