Компрессия JavaScript
Есть код в таком виде
eval([][(![]+[])[+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[+!+[]]+(!![]+[])[+[]]][([][(![]+[])[+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[+!+[]]+(! ...
Как получить полноценный JS-код, чтобы его отредактировать?
Ответы (1 шт):
Уберите вызов eval (или замените его на console.log) и просто попросите интерпретатор Javascript вычислить результат:
[][(![]+[])[+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[+!+[]]+(!![]+[])[+[]]][([][(![]+[])[+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[+!+[]]+(! …
Это и будет код.
Только делайте это осторожно, потому что внутри этого выражения может быть спрятано что угодно, так что проверять надо в песочнице. К счастью, песочниц для javascript полно. Например, можно просто открыть страницу about:blank, перейти там в консоль (F12 в Chrome) и вставить этот код. Или же можно использовать сервисы https://jsfiddle.net/, https://codesandbox.io/ и им подобные. На сайте StackOverflow тоже есть песочница для javascript, активируемая через Ctrl+M при редактировании сообщения.
PS строго говоря, полностью доверять полученному результату нельзя, так как автор кода мог встроить в него защиту от песочниц. Однако, любая такая защита удлиняет и без того длинный код, так что обычно их всё-таки не ставят.