Me contacter
Tikoweb / Stéphane Kraemer
infographiste, développeur Web
et photographe à ses heures perdues ...

L'obfuscation, protection du code source

Cet article fait suite à celui sur la minification des fichiers JS qui permet d'alléger un fichier. En tant que développeur Web on peut se poser la question de la protection du code, notamment les fichiers et scripts JS qui sont facilement accessibles via le code source et peuvent de ce fait être copiés sans trop de problème.

 

Définition du terme "Obfuscation"

L'obfuscation est le moyen de rendre illisible le code source d'un script JS, c'est une protection contre la copie, un code compilé en quelque sorte. Via un algorythme le code est réécrit complètement, seul un navigateur Web peut donc l'interpréter.

Il existe quelques outils pour faire l'opération inverse, on appelle cela le reverse engineering, sans toutefois arriver au code d'origine.

Attention tout de même, il faut toujours garder une copie des fichiers originaux en local car après traitement il est quasi impossible de maintenir ou de faire évoluer ce code.

 

Obfusquer son code source

L'obfuscation supprime tous les commentaires, espaces et sauts de ligne (comme la minification) mais se différencie par la conversion du code en chaines de caractère hexadécimal.

Un exemple concret avec une fonction JavaScript :

Code original

// Fade sur les boutons images
$().ready(function(){
    $('img.bt,div.bt').mouseover(function(){
        $(this).stop().fadeTo(350,0.6);
    });
    $('img.bt,div.bt').mouseout(function(){
        $(this).stop().fadeTo(350,1);    
    });
});

Code après obfuscation

var _0xcb72=["\x66\x61\x64\x65\x54\x6F","\x73\x74\x6F\x70","\x6D\x6F\x75\x73\x65\x6F\x76\x65\x72","\x69\x6D\x67\x2E\x62\x74\x2C\x64\x69\x76\x2E\x62\x74","\x6D\x6F\x75\x73\x65\x6F\x75\x74","\x72\x65\x61\x64\x79"];$()[_0xcb72[5]](function(){$(_0xcb72[3])[_0xcb72[2]](function(){$(this)[_0xcb72[1]]()[_0xcb72[0]](350,0.6)});$(_0xcb72[3])[_0xcb72[4]](function(){$(this)[_0xcb72[1]]()[_0xcb72[0]](350,1)})})

Le code n'est pas forcément plus léger par contre il n'est plus lisible et c'est là le but principal.

 

Outils en ligne

 

article publié le 16-08-2016 par / Catégorie : Outils / Logiciels
Commentaires
Aucun commentaire pour le moment
Vous avez un avis, une question ? Rédigez un commentaire
Nom
 
Adresse e-mail
 
Site Internet
(facultatif)
 
Votre message
 
Code de vérification
Captcha Recharger l'image
Recopiez le code ci-dessus
 
 

 
L'obfuscation, protection du code source
Tikoweb Blog - Article lu 697 fois