Я пытаюсь отредактировать сценарий Greasemonkey / jQuery. Я не могу разместить здесь ссылку.
Код запутан и сжат с помощью minify.
Он начинается так:
var _0x21e9 = ["\x67\x65\x74\x4D\x6F\x6E\x74\x68", "\x67\x65\x74\x55\x54\x43\x44\x61\x74\x65", ...
После "расшифровки" получилось вот что:
var _0x21e9=["getMonth","getUTCDate","getFullYear", ...
Список огромный (500+). Затем у него есть несколько таких переменных:
month = date[_0x21e9[0]](), day = date[_0x21e9[1]](), ...
_0x21e9 [0] - это getMonth, _0x21e9 [1] - это getUTCDate и т. Д.
Можно ли заменить квадратные скобки фактическим именем переменной? Как?
Я плохо разбираюсь в javascript / jQuery и не могу "читать" код в том виде, в каком он есть сейчас.
Я просто хочу использовать некоторые функции из этого огромного скрипта и удалить другие, которые мне не нужны .
Обновление: я попытался использовать jsbeautifier.org, как было предложено здесь и в дублированном вопросе, но ничего не изменилось, кроме «отступа».
Он не заменял переменные массива декодированными именами.
Например:
- jsbeautifier по-прежнему дает:
month = date[_0x21e9[0]]()
. - Но мне нужно:
month = date["getMonth"]()
.
Похоже, что ни один из онлайн-деобфускаторов этого не делает, как я могу?
Есть ли способ поделиться кодом с кем-нибудь, по крайней мере, его частью? Я читал, что не могу опубликовать здесь pastebin или подобное. Я не могу выложить здесь полный код.
Вот еще одна часть кода:
$(_0x21e9[8] + vid)[_0x21e9[18]]();
[8] - это "." и [18] - «удалить». Ручная замена дает странный результат.