Substituir variáveis mapeadas em matriz pelo nome / sequência da variável real?
Estou tentando editar um script Greasemonkey / jQuery. Não consigo postar o link aqui.
O código é ofuscado e compactado com minify.
Começa assim:
var _0x21e9 = ["\x67\x65\x74\x4D\x6F\x6E\x74\x68", "\x67\x65\x74\x55\x54\x43\x44\x61\x74\x65", ...
Depois de "decodificar", consegui o seguinte:
var _0x21e9=["getMonth","getUTCDate","getFullYear", ...
É uma lista enorme (mais de 500). Então, tem algumas variáveis como esta:
month = date[_0x21e9[0]](), day = date[_0x21e9[1]](), ...
_0x21e9 [0] é getMonth, _0x21e9 [1] é getUTCDate etc.
É possível substituir os colchetes pelo nome da variável real? Quão?
Eu tenho pouco conhecimento em javascript / jQuery e não consigo "ler" o código do jeito que está agora.
Eu só quero usar algumas funções desse script enorme e remover as outras que eu não preciso.
Atualização: tentei usar o jsbeautifier.org conforme sugerido aqui e na pergunta duplicada, mas nada mudou, exceto o "recuo".
Não substituiu as variáveis da matriz pelos nomes decodificados.
Por exemplo:
month = date[_0x21e9[0]]()
.Mas eu preciso:month = date["getMonth"]()
.Nenhum dos desofuscadores online parece fazer isso, como posso?
Existe uma maneira de compartilhar o código com alguém, pelo menos parte dele? Eu li que não posso postar pastebin, ou similar aqui. Não posso postar o código completo aqui.
Aqui está outra parte do código:
$(_0x21e9[8] + vid)[_0x21e9[18]]();
[8] é "." e [18] é "remover". Substituí-lo manualmente fornece um resultado estranho.