Если вам по какой-то причине нужно замаскировать код скрипта, то обфускатор Horrible.js лучше всех справится с задачей, он превращает код Javascript в абсолютно нечитаемое месиво.

Можно установить последнюю версию:

git clone git@github.com:TShadwell/horrible.js.git

Или воспользоваться онлайновым конвертером.

Автор обфускатора основательно подошёл к делу. При компиляции кода используются две функции, у каждой из которых может быть два аргумента.

code.compileToString() используется для обфускации строк.

code.compile() используется для обфускации всей программы, которая сохраняет работоспособность.

Вдобавок, можно использовать объект code для компиляции всего кода с помощью и code.compileToString(), и code.compile().

Степень обфускации указывается с помощью параметра window.horror (фактор ужаса). На втором уровне «ужаса» кодируются ещё и числа, а на третьем — и числа, и коды символов (charcodes).

Компилируемый код:

compile("console.log('test')","$")

Результат:

=String.fromCharCode(109,112,40,34,46,103,39,41,44,36);_="constructor";_[_][_](([![]]+{})[+!+[]+[+[]]]+([]+[]+{})[+!+[]]+[0]+[1]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+[2]+[3]+([![]]+{})[+!+[]+[+[]]]+([]+[]+{})[+!+[]]+([]+[]+[][[]])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+([]+[]+{})[+!+[]]+(![]+[])[!+[]+!+[]]+(!![]+[])[!+[]+!+[]+!+[]]+[4]+(![]+[])[!+[]+!+[]]+([]+[]+{})[+!+[]]+[5]+[2]+[6]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+[6]+[7]+[3]+[8]+[3]+[9]+[3]+[7])();



1 комментарий

  1. http://ya.ru

    31.03.2015 at 19:59

    Бред! Даже alert(1) не работает! ЧЯДНТ?

Оставить мнение