Obfuscation javascript pour protéger son code source

Août 2013

Javascript est un langage de script, ce qui implique que le code source est public et accessible par tout le monde, il est soit interprété soit compilé à la volet par les moteurs javascript récents comme le moteur V8 de Google Chrome. Ce mode de fonctionnement peut être gênant lorsqu'on souhaite à protéger son code source et la propriété intellectuelle, pour éviter de se faire voler du code par la concurrence par exemple.

Qu'est-ce que l'obfuscation ?

Il existe une parade qui consiste à rendre le code Javascript extrêmement difficile à lire et à comprendre, de manière à rendre le reverse engineering très compliqué, cette technique s'appelle l'obfuscation. Obfusquer du code consiste généralement à effectuer ce type de traitement :

  • Supprimer tous les commentaires
  • Supprimer l'indentation du code, ainsi que les retours chariot, on obtient alors tout le code sur une seule ligne, sans aucun espace superflu
  • Renommer les variables et les fonctions, pour leur donner un nom absolument pas explicite comme a, b, c, d...
  • Réécrire les chaines de caractère en hexadécimal

Donc, revenons à nos moutons, il existe de nombreux outils qui permettent de minifier et d'obfusquer du code Javscript, voici un petit tour de ces outils :

Allez donc jeter un oeil sur cette page : excel condition couleur.

  • YUI Compressor [lien]
    Cet outil a été développé par les équipes de Yahoo, qui travaillent aussi sur le framework Javascript YUI. C'est à l'heure actuelle l'outil le plus utilisé pour la minification et l'obfuscation du javascript, il était notamment utilisé pour la version production de jQuery, avant qu'ils ne décident de passer au Closure Compiler.
  • Google Closure Compiler [lien]
    Le closure compiler a été développé à l'origine pour rendre le code javascript plus rapide à exécuter et plus léger pour diminuer le temps de chargement. Cet outil optimise le code javascript, supprime le code non utilisé.
  • Javascript Obfuscator [lien]
  • UglifyJS [lien]
  • Jscrambler [lien]
    Ce n'est pas un outil mais un service (SaaS), il est payant, mais offre un excellent résultat, très difficile à décoder.
  • Stunnix JavaScript Obfuscator & Encoder [lien]

Désobfusquer du code Javascript

Si il est possible de dégueulasser du code javascript pour éviter de se le faire voler, on peut aussi rendre du code obfusqué plus lisible, c'est ce qu'on appelle la déobfuscation. Il existe des outils comme Revelo.

Allez donc jeter un oeil sur cette page : logo grunge avec illustrator et photoshop.

0 commentaire
facultatif
Facebook Twitter RSS Email
Forum Excel
Venez découvrir le nouveau forum excel question/réponse à la stackoverflow.com !
Forum Excel
hit parade n'en a rien a foutre du W3C Positionnement et Statistiques Gratuites Vincent Paré