Contenido

Horrible.js, ofusca tu código javascript a modo Uruk-hai

30 may

+ 4

Si estás buscando una herramienta para ofuscar tu código Javascript, Horrible.js es tu herramienta. Activando el modo 100% convierte ese código en algo imposible de descifrar a simple vista, como si el mismo capitán Uruk-hai hubiera escrito esas líneas, si no te lo crees… pruebalo tu mismo.

Vamos un ejemplo:

alert("Hola mundo");

Pasado por Horrible.js (usando Horror Factor 1):


$=String.fromCharCode(40,34,72,109,41,59);(![]+[])[+[]][([![]]+{})[+!+[]+[+[]]]+([]+[]+{})[+!+[]]+([]+[]+[][[]])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]]+([![]]+{})[+!+[]+[+[]]]+(!![]+[])[+[]]+([]+[]+{})[+!+[]]+(!![]+[])[+!+[]]][([![]]+{})[+!+[]+[+[]]]+([]+[]+{})[+!+[]]+([]+[]+[][[]])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[+!+[]]+(!![]+[])[!+[]+!+[]]+([![]]+{})[+!+[]+[+[]]]+(!![]+[])[+[]]+([]+[]+{})[+!+[]]+(!![]+[])[+!+[]]]((![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]+$[0]+$[1]+$[2]+([]+[]+{})[+!+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[+!+[]]+(+{}+[]+[]+[]+[]+{})[+!+[]+[+[]]]+$[3]+(!![]+[])[!+[]+!+[]]+([]+[]+[][[]])[+!+[]]+([]+[]+[][[]])[!+[]+!+[]]+([]+[]+{})[+!+[]]+$[1]+$[4]+$[5])();

Copia y pega en Firebug para verlo funcionando.

No soy muy partidario de este tipo de prácticas, pero es que esta ofuscación se merecía un post :D

  • Una buena ofuscación viene dada cuando la misma realiza un chequeo de la integridad del código para evitar que éste pueda ser separado. En JavaScript este método no es viable.

    A simple vista no podré descifrar el código, pero no hay que ser un lince para darse cuenta de que realiza la ejecución del código dentro de una solo clausura (clousure) sin ningún tipo de protección, ya que la ofuscación es solo a nivel de caracteres.

    Yendo al grano… si quitáis la apertura y el cierre de paréntesis del final del código y ejecutáis éste en la consola, veréis esa única clausura con el código desofuscado en su interior.

    • @yeikos: Es javascript ¿que esperabas? Solo es una herramienta para ofuscar código, que sirve para, por ejemplo, incluir emails en el código y estar tranquilos de que no lo pueda cazar ningún bot. Pero poco más, si quieres que nadie pueda ver tu código, mejor no lo hagas en Javascript.

  • eso es facil.. de decifrar xD

  • Que buen modo de ofuscar, pero claro tiene sus limitaciones como bein dice Jeikos.

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.