Ofuscación de JavaScript: protege el código JavaScript del robo

Sahil Bhosale 12 octubre 2023
Ofuscación de JavaScript: protege el código JavaScript del robo

La ofuscación en JavaScript es una técnica de codificación del código JavaScript en un formato ilegible. Hace que el código sea difícil de entender y aplicar ingeniería inversa.

Como sabemos, el código JavaScript se obtiene del servidor y el navegador lo procesa en el lado del cliente. Por lo tanto, cualquier persona que use la herramienta de inspección dentro del navegador puede acceder y copiar fácilmente.

Este es un problema ya que no queremos que todos vean nuestro código escrito. Y también puede causar un riesgo de seguridad ya que si un atacante encuentra una vulnerabilidad dentro de su código JavaScript; el sitio web puede verse comprometido fácilmente.

Esto sucede principalmente cuando un sitio web o una aplicación web no tiene un backend. Siempre se recomienda mantener la lógica importante en el backend (lado del servidor) y nunca enviarla al lado del cliente.

Pero en algunos casos, es posible que deba enviar una parte crítica del código al lado del cliente. El objetivo de la ofuscación del código JavaScript es cifrar dicho código en un formato que un humano no pueda entender.

De esta forma, aunque el cliente pueda acceder a tu código, es posible que no lo entienda, y aunque copie el código, es posible que no pueda modificarlo. A continuación tenemos un fragmento de código JavaScript.

console.log('Hello World!');

Después de ofuscar el código anterior, así es como se verá, pero apenas podrá entender nada. Si ejecuta este código directamente dentro de su navegador, también obtendrá el mismo resultado que el código anterior.

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

Producción :

Hello World!

Es posible que este proceso no asegure su código al 100 %, pero es mejor tener algo listo que nada. Es una de las medidas de seguridad que puede tomar para mejorar la seguridad de su sitio web.

Cómo ofuscar un código JavaScript

Muchas herramientas que pueden ayudar a convertir el código en un formato ilegible están disponibles en línea y le permiten realizar un proceso de ofuscación en su código JavaScript. A continuación se muestran algunas de las herramientas de ofuscación que puede usar para codificar su código JavaScript.

JavaScriptObfuscator.com

Este es un sitio web gratuito donde puede ofuscar su código JavaScript. Este sitio web codifica el sitio web en una cadena codificada más pequeña.

ofuscar_js_2_02

El único inconveniente de este sitio web es que no codifica todas las partes del código. Y debido a esto, puede ser un poco más fácil adivinar el código que ha sido ofuscado.

obfuscator.io

El obfuscator.io es un sitio web gratuito y de código abierto que le permite ofuscar cada parte del código JavaScript. Esto generará una gran cadena de salida de caracteres, lo que hará que el código sea muy difícil de adivinar y aplicar ingeniería inversa.

ofuscar_js_1_01

Producción :

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();}

Para ofuscar el código JavaScript, cópielo y péguelo en el cuadro de entrada que se muestra en la ilustración de arriba y presione el botón Ofuscar.

Jscrambler.com

Jscrambler.com es otro sitio web que puede ayudarlo a ofuscar el código JavaScript. Este sitio web también generará una gran cadena de salida de caracteres que puede ser difícil de copiar y aplicar ingeniería inversa.

Debe crear una cuenta en este sitio web para comenzar, y solo usted puede usar esta herramienta. La única preocupación es que es un servicio pago y el sitio web también requiere que tengas una cuenta de correo electrónico comercial.

Después de iniciar sesión en el sitio web de Jscrambler, haga clic en el cuadro a continuación para crear una aplicación.

ofuscar_js_1

Luego asigne cualquier nombre a una aplicación y haga clic en el botón Crear.

ofuscar_js_2

Haga clic en el botón Protect App, que lo llevará a una nueva página.

ofuscar_js_3

Ahora haga clic en el botón Agregar para crear un archivo JavaScript. Luego dale un nombre y haz clic en crear.

ofuscar_js_4

Aquí, puede pegar el código JavaScript que desea ofuscar y hacer clic en el botón Protect App.

ofuscar_js_5

Esto ofuscará su código 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