Как декодировать 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))
Это должно работать, источник от эта страница