Как декодировать JSFuck script?

У меня есть этот код в JavaScript:

[(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+
(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+
(!![]+[])[+!+[]]]

В консоли он вернет

Array [ "filter" ]

И как я могу декодировать много текста, похожего на текст выше? Например:.

[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+
(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]][([][(![]+[])[+[]]+
([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+
(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+
(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+
(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+
([][[]]+[])[+!+[]]+(![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+
(!![]+[])[+!+[]]+([][[]]+[])[+[]]+([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+
(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+
(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+[]]+
([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+
(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]]

Я хочу увидеть обычную script.

Ответы

Ответ 1

Я видел много попыток декодирования, но никто из них не работает надежно. Самый простой способ, который я нашел для декодирования Non Alphanumeric Javascript, - это Chrome.

Откройте Chrome > Перейдите на jsfuck.com > вставьте код, который вы хотите декодировать в окне > нажмите "Запустить это".

Затем откройте консоль, в случае вашего конкретного кода из PasteBin появится сообщение об ошибке:

Uncaught TypeError: Cannot read property 'innerHTML' of null  

Справа от ошибки щелкните ссылку номер строки, и код будет обнаружен. Результат:

(function(){
    window.false=document.getElementById('sc').innerHTML;
})

Это объясняет, почему вы получаете ошибку, пытаясь просто декодировать ее, используя сам JSFuck. Нет элемента с id sc на их сайте.

Ответ 2

Вы можете использовать этот сайт для декодирования jsfuck: http://codertab.com/jsunfuck

ОБНОВЛЕНО Я извлек javascript с расшифровкой из вышеприведенного URL, вот как работает процесс декодирования: (javascript)

s = source.slice(0, source.length - 2); txtResult = eval (s);

Надеюсь, что это поможет!

Ответ 3

    let elem = yourJSFuck
function decode(elem) {
    return (/\n(.+)/.exec(eval(elem.replace(/\s+/, "").slice(0, -2)))[1]);
}

console.log(decode(elem))

Это должно работать, источник от эта страница