JavaScript Obfuscation - Protège le code JavaScript contre le vol

Sahil Bhosale 12 octobre 2023
JavaScript Obfuscation - Protège le code JavaScript contre le vol

L’obscurcissement en JavaScript est une technique d’encodage du code JavaScript dans un format illisible. Cela rend le code difficile à comprendre et à désosser.

Comme nous le savons, le code JavaScript est extrait du serveur et rendu côté client par le navigateur. Par conséquent, cela peut être facilement accessible et copié par toute personne utilisant l’outil d’inspection dans le navigateur.

C’est un problème car nous ne voulons pas que tout le monde voie notre code écrit. Et cela peut également entraîner un risque de sécurité puisque si un attaquant trouve une vulnérabilité dans votre code JavaScript ; le site Web peut facilement être compromis.

Cela se produit principalement lorsqu’un site Web ou une application Web n’a pas de backend. Il est toujours recommandé de conserver la logique importante au niveau du backend (côté serveur) et de ne jamais l’envoyer au côté client.

Mais dans certains cas, vous devrez peut-être envoyer une partie critique du code côté client. Le but de l’obscurcissement du code JavaScript est de crypter ce code dans un format qu’un humain ne peut pas comprendre.

De cette façon, même si le client peut accéder à votre code, il se peut qu’il ne le comprenne pas, et même s’il copie le code, il se peut qu’il ne puisse pas le modifier. Ci-dessous, nous avons un extrait de code JavaScript.

console.log('Hello World!');

Une fois le code ci-dessus obscurci, voici à quoi il ressemblera, mais vous ne pourrez presque rien comprendre. Si vous exécutez ce code directement dans votre navigateur, il vous donnera également le même résultat que le code précédent.

var _0xf14d =
    ['\x48\x65\x6C\x6C\x6F\x20\x57\x6F\x72\x6C\x64\x21', '\x6C\x6F\x67'];
console[_0xf14d[1]](_0xf14d[0])

Production :

Hello World!

Ce processus peut ne pas sécuriser votre code à 100 %, mais il est préférable d’avoir quelque chose en place plutôt que rien. C’est l’une des mesures de sécurité que vous pouvez prendre pour améliorer la sécurité de votre site Web.

Comment masquer un code JavaScript

De nombreux outils qui peuvent aider à convertir le code dans un format illisible sont disponibles en ligne, et ils vous permettent d’effectuer un processus d’obscurcissement sur votre code JavaScript. Vous trouverez ci-dessous quelques-uns des outils d’obscurcissement que vous pouvez utiliser pour encoder votre code JavaScript.

JavaScriptObfuscator.com

Il s’agit d’un site Web gratuit où vous pouvez obscurcir votre code JavaScript. Ce site Web code le site Web dans une chaîne codée plus petite.

obfuscate_js_2_02

Le seul inconvénient de ce site Web est qu’il n’encode pas chaque partie du code. Et à cause de cela, il peut être un peu plus facile de deviner le code qui a été masqué.

Obfuscator.io

Le obfuscator.io est un site Web gratuit et open-source qui vous permet d’obscurcir chaque partie du code JavaScript. Cela générera une grande chaîne de caractères en sortie, rendant le code très difficile à deviner et à désosser.

obfuscate_js_1_01

Production :

function _0x2b7f(_0x4b6c11,_0x315769){var _0x1dc05a=_0x1dc0();return _0x2b7f=function(_0x2b7f7e,_0x228a95){_0x2b7f7e=_0x2b7f7e-0x64;var _0x45187e=_0x1dc05a[_0x2b7f7e];return _0x45187e;},_0x2b7f(_0x4b6c11,_0x315769);}(function(_0x5dd9bf,_0x334784){var _0xeea2f6=_0x2b7f,_0x3165e7=_0x5dd9bf();while(!![]){try{var _0x2b0404=parseInt(_0xeea2f6(0x6b))/0x1+parseInt(_0xeea2f6(0x6c))/0x2*(-parseInt(_0xeea2f6(0x66))/0x3)+-parseInt(_0xeea2f6(0x6d))/0x4+-parseInt(_0xeea2f6(0x6a))/0x5+-parseInt(_0xeea2f6(0x64))/0x6*(parseInt(_0xeea2f6(0x65))/0x7)+parseInt(_0xeea2f6(0x67))/0x8+parseInt(_0xeea2f6(0x69))/0x9;if(_0x2b0404===_0x334784)break;else _0x3165e7['push'](_0x3165e7['shift']());}catch(_0xc4f2f5){_0x3165e7['push'](_0x3165e7['shift']());}}}(_0x1dc0,0x58929));function-myFun(){var-_0x7d73e6=_0x2b7f;console[_0x7d73e6(0x68)]('Hello\x20World!');}myFun();function _0x1dc0(){var _0x35de3a=['127722huaALJ','119OpLtUQ','906fXgONm','3312880EZLkNB','log','11402298dsXQQu','129125FyqrTT','11454lIlZsK','1922GQtaJF','2607068kFkiIM'];_0x1dc0=function(){return _0x35de3a;};return _0x1dc0();}

Pour obscurcir le code JavaScript, copiez-le et collez-le dans la zone de saisie indiquée dans l’illustration ci-dessus et appuyez sur le bouton Obfuscate.

Jscrambler.com

Jscrambler.com est un autre site Web qui peut vous aider à masquer le code JavaScript. Ce site Web générera également une grande chaîne de caractères de sortie qui peut être difficile à copier et à désosser.

Vous devez créer un compte sur ce site Web pour commencer, et vous seul pourrez alors utiliser cet outil. La seule préoccupation est qu’il s’agit d’un service payant et que le site Web exige également que vous ayez un compte de messagerie professionnel.

Après vous être connecté au site Web de Jscrambler, cliquez sur la case ci-dessous pour créer une application.

obfuscate_js_1

Donnez ensuite un nom à une application et cliquez sur le bouton Créer.

obfuscate_js_2

Cliquez sur le bouton Protect App, ce qui vous amènera à une nouvelle page.

obfuscate_js_3

Cliquez maintenant sur le bouton Ajouter pour créer un fichier JavaScript. Donnez-lui ensuite un nom et cliquez sur créer.

obfuscate_js_4

Ici, vous pouvez coller le code JavaScript que vous souhaitez masquer et cliquer sur le bouton Protect App.

obfuscate_js_5

Cela obscurcira votre code JavaScript.

Sahil Bhosale avatar Sahil Bhosale avatar

Sahil is a full-stack developer who loves to build software. He likes to share his knowledge by writing technical articles and helping clients by working with them as freelance software engineer and technical writer on Upwork.

LinkedIn