JS
Obfuscateur JS
Obfusquez du JavaScript pour le rendre difficile à lire.
À propos de l'obfuscation JavaScript
L'obfuscation réécrit le JavaScript pour qu'il fonctionne exactement de la même façon, mais devienne bien plus difficile à lire pour un humain — en renommant les variables avec des chaînes dénuées de sens, en découpant et en encodant les chaînes littérales, et en faisant passer le flux normal du code par des détours supplémentaires. À la différence de la minification, l'objectif n'est pas un fichier plus petit, mais un fichier déroutant.
Les trois niveaux échangent la force d'obfuscation contre la taille du résultat et le coût à l'exécution. Bas renomme les identifiants et déplace les littéraux de chaîne dans un tableau ; moyen ajoute l'aplatissement du flux de contrôle (restructurer une logique simple en une machine à états plus difficile à suivre) et l'injection de code mort ; haut ajoute des chaînes encodées en RC4, découpe les littéraux de chaîne en morceaux et active un code autodéfensif qui se casse si le résultat est reformaté ou passé dans un embellisseur. Les niveaux supérieurs produisent des fichiers nettement plus volumineux et une exécution plus lente — réservez donc le niveau haut au code qui en vaut vraiment le coût, comme une vérification de licence, plutôt qu'à une application entière.
Où vous le rencontrerez
- Rendre la logique côté client plus difficile à copier ou à rétro-concevoir
- Protéger des vérifications de licence ou des clés d'API intégrées dans le code front-end
- Livrer un bundle sans révéler les noms internes des fonctions et des variables
- Augmenter le coût de la manipulation d'un code qui s'exécute dans un environnement non fiable
Questions fréquentes
Le code obfusqué est-il vraiment sécurisé ?
Non. L'obfuscation augmente l'effort nécessaire pour lire ou modifier le code, mais tout ce qui s'exécute dans le navigateur peut finalement être désobfusqué par une personne déterminée. Ne vous en servez jamais pour protéger de vrais secrets comme des clés d'API privées.
Quelle est la différence entre obfusquer et minifier ?
La minification réduit la taille du fichier tout en restant facile à inverser avec un outil de mise en forme. L'obfuscation rend délibérément la logique confuse — identifiants renommés, chaînes encodées, flux de contrôle restructuré — même après reformatage.
L'obfuscation va-t-elle ralentir mon code ?
Légèrement, surtout aux niveaux élevés — les détours supplémentaires et le décodage des chaînes ajoutent un léger coût d'exécution. Pour la plupart du code front-end, c'est négligeable ; pour des boucles critiques en performance, mieux vaut tester.
Que changent concrètement les niveaux bas, moyen et haut ?
Bas renomme variables et fonctions avec des noms courts et dénués de sens, et cache les littéraux de chaîne dans un tableau. Moyen ajoute l'aplatissement du flux de contrôle — restructurer les branches de votre logique en une machine à états plus difficile à suivre — plus du code mort injecté qui ne fait qu'ajouter du bruit. Haut ajoute des chaînes encodées en RC4, découpe les littéraux en morceaux réassemblés à l'exécution, et un code autodéfensif qui détecte un reformatage et y réagit. Chaque niveau supplémentaire coûte plus de taille de sortie et une exécution plus lente, en échange d'un effort accru pour inverser le résultat.