Mila Основатель Сообщения 4,353 Реакции 7,001 28 Май 2012 #1 Если вам по какой-то причине нужно замаскировать код скрипта, то обфускатор 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])(); Нажмите для раскрытия... источник
Если вам по какой-то причине нужно замаскировать код скрипта, то обфускатор 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])(); Нажмите для раскрытия... источник