Заменить отображенные в массиве переменные фактическим именем / строкой переменной?
Я пытаюсь отредактировать скрипт 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, как предложено здесь и в дублированном вопросе, но ничего не изменилось, кроме «отступа».
Он не заменил переменные массива декодированными именами.
Например:
month = date[_0x21e9[0]]()
.Но мне нужно:month = date["getMonth"]()
.Кажется, никто из деобфускаторов онлайн не делает этого. Как я могу?
Могу ли я поделиться с кем-нибудь кодом, хотя бы частично? Я читаю, я не могу опубликовать pastebin или подобное здесь. Я не могу выложить здесь полный код.
Вот еще одна часть кода:
$(_0x21e9[8] + vid)[_0x21e9[18]]();
[8] это "." и [18] это «удалить». Замена вручную дает странный результат.