Javascript 什么';代码中发生了什么?

Javascript 什么';代码中发生了什么?,javascript,Javascript,^我试图弄明白,长的讨厌的令牌代码是否会加密以v开头的长令牌,并导致D7R5txI4第一行最终执行: D7R5txI4 第二行似乎无关。我不能告诉你它是做什么的,因为它是不完整的 要计算出第一行,请将eval更改为console.log。现在执行它(我使用nodeJs),您就会看到它试图评估什么: window.token="ede4e5d0f98dabb8" 现在,当我们格式化它时,我们看到它是6行: j=~[];j={___:++j,$$$$:(![]+"")[j],__$:++j,$_

^我试图弄明白,长的讨厌的令牌代码是否会加密以v开头的长令牌,并导致
D7R5txI4

第一行最终执行:

D7R5txI4
第二行似乎无关。我不能告诉你它是做什么的,因为它是不完整的

要计算出第一行,请将eval更改为console.log。现在执行它(我使用nodeJs),您就会看到它试图评估什么:

window.token="ede4e5d0f98dabb8"
现在,当我们格式化它时,我们看到它是6行:

j=~[];j={___:++j,$$$$:(![]+"")[j],__$:++j,$_$_:(![]+"")[j],_$_:++j,$_$$:({}+"")[j],$$_$:(j[j]+"")[j],_$$:++j,$$$_:(!""+"")[j],$__:++j,$_$:++j,$$__:({}+"")[j],$$_:++j,$$$:++j,$___:++j,$__$:++j};j.$_=(j.$_=j+"")[j.$_$]+(j._$=j.$_[j.__$])+(j.$$=(j.$+"")[j.__$])+((!j)+"")[j._$$]+(j.__=j.$_[j.$$_])+(j.$=(!""+"")[j.__$])+(j._=(!""+"")[j._$_])+j.$_[j.$_$]+j.__+j._$+j.$;j.$$=j.$+(!""+"")[j._$$]+j.__+j._+j.$+j.$$;j.$=(j.___)[j.$_][j.$_];j.$(j.$(j.$$+"\""+"\\"+j.__$+j.$$_+j.$$$+"\\"+j.__$+j.$_$+j.__$+"\\"+j.__$+j.$_$+j.$$_+j.$$_$+j._$+"\\"+j.__$+j.$$_+j.$$$+"."+j.__+j._$+"\\"+j.__$+j.$_$+j._$$+j.$$$_+"\\"+j.__$+j.$_$+j.$$_+"=\\\""+j.$$$_+j.$$_$+j.$$$_+j.$__+j.$$$_+j.$_$+j.$$_$+j.___+j.$$$$+j.$__$+j.$___+j.$$_$+j.$_$_+j.$_$$+j.$_$$+j.$___+"\\\";"+"\"")())();
执行前4行,我们看到它创建了一个对象
j

j = ~[];
j = { ___: ++j, $$$$: (![] + "")[j], __$: ++j, $_$_: (![] + "")[j], _$_: ++j, $_$$: ({} + "")[j], $$_$: (j[j] + "")[j], _$$: ++j, $$$_: (!"" + "")[j], $__: ++j, $_$: ++j, $$__: ({} + "")[j], $$_: ++j, $$$: ++j, $___: ++j, $__$: ++j };
j.$_ = (j.$_ = j + "")[j.$_$] + (j._$ = j.$_[j.__$]) + (j.$$ = (j.$ + "")[j.__$]) + ((!j) + "")[j._$$] + (j.__ = j.$_[j.$$_]) + (j.$ = (!"" + "")[j.__$]) + (j._ = (!"" + "")[j._$_]) + j.$_[j.$_$] + j.__ + j._$ + j.$;
j.$$ = j.$ + (!"" + "")[j._$$] + j.__ + j._ + j.$ + j.$$;
j.$ = (j.___)[j.$_][j.$_];
j.$(j.$(j.$$ + "\"" + "\\" + j.__$ + j.$$_ + j.$$$ + "\\" + j.__$ + j.$_$ + j.__$ + "\\" + j.__$ + j.$_$ + j.$$_ + j.$$_$ + j._$ + "\\" + j.__$ + j.$$_ + j.$$$ + "." + j.__ + j._$ + "\\" + j.__$ + j.$_$ + j._$$ + j.$$$_ + "\\" + j.__$ + j.$_$ + j.$$_ + "=\\\"" + j.$$$_ + j.$$_$ + j.$$$_ + j.$__ + j.$$$_ + j.$_$ + j.$$_$ + j.___ + j.$$$$ + j.$__$ + j.$___ + j.$$_$ + j.$_$_ + j.$_$$ + j.$_$$ + j.$___ + "\\\";" + "\"")())();
现在我们可以看到第五行
j.$=(j.\uuuuu)[j.$\uuuuu][j.$\uuu]实际上是

    j = { ___: 0,
        '$$$$': 'f',
        '__$': 1,
        '$_$_': 'a',
        '_$_': 2,
        '$_$$': 'b',
        '$$_$': 'd',
        '_$$': 3,
        '$$$_': 'e',
        '$__': 4,
        '$_$': 5,
        '$$__': 'c',
        '$$_': 6,
        '$$$': 7,
        '$___': 8,
        '$__$': 9,
        '$_': 'constructor',
        '_$': 'o',
        '$$': 'return',
        __: 't',
        '$': [Function: Function],
        _: 'u' }
这使得j.$a函数
f
其中
f(string)(
的作用与
eval(string)
相同。看

因此,最后一行是有效的

j.$ = (0)['constructor']['constructor'];
当我们通过运行表达式来计算字符串时,我们看到它是:

f(f(string)())()
因此,我们正在
eval
ing一个返回字符串的函数

string = 'return"\\167\\151\\156do\\167.to\\153e\\156=\\"ede4e5d0f98dabb8\\";"'
这就评估了

return"\167\151\156do\167.to\153e\156=\"ede4e5d0f98dabb8\";"

第一行最终执行:

D7R5txI4
第二行似乎无关。我不能告诉你它是做什么的,因为它是不完整的

要计算出第一行,请将eval更改为console.log。现在执行它(我使用nodeJs),您就会看到它试图评估什么:

window.token="ede4e5d0f98dabb8"
现在,当我们格式化它时,我们看到它是6行:

j=~[];j={___:++j,$$$$:(![]+"")[j],__$:++j,$_$_:(![]+"")[j],_$_:++j,$_$$:({}+"")[j],$$_$:(j[j]+"")[j],_$$:++j,$$$_:(!""+"")[j],$__:++j,$_$:++j,$$__:({}+"")[j],$$_:++j,$$$:++j,$___:++j,$__$:++j};j.$_=(j.$_=j+"")[j.$_$]+(j._$=j.$_[j.__$])+(j.$$=(j.$+"")[j.__$])+((!j)+"")[j._$$]+(j.__=j.$_[j.$$_])+(j.$=(!""+"")[j.__$])+(j._=(!""+"")[j._$_])+j.$_[j.$_$]+j.__+j._$+j.$;j.$$=j.$+(!""+"")[j._$$]+j.__+j._+j.$+j.$$;j.$=(j.___)[j.$_][j.$_];j.$(j.$(j.$$+"\""+"\\"+j.__$+j.$$_+j.$$$+"\\"+j.__$+j.$_$+j.__$+"\\"+j.__$+j.$_$+j.$$_+j.$$_$+j._$+"\\"+j.__$+j.$$_+j.$$$+"."+j.__+j._$+"\\"+j.__$+j.$_$+j._$$+j.$$$_+"\\"+j.__$+j.$_$+j.$$_+"=\\\""+j.$$$_+j.$$_$+j.$$$_+j.$__+j.$$$_+j.$_$+j.$$_$+j.___+j.$$$$+j.$__$+j.$___+j.$$_$+j.$_$_+j.$_$$+j.$_$$+j.$___+"\\\";"+"\"")())();
执行前4行,我们看到它创建了一个对象
j

j = ~[];
j = { ___: ++j, $$$$: (![] + "")[j], __$: ++j, $_$_: (![] + "")[j], _$_: ++j, $_$$: ({} + "")[j], $$_$: (j[j] + "")[j], _$$: ++j, $$$_: (!"" + "")[j], $__: ++j, $_$: ++j, $$__: ({} + "")[j], $$_: ++j, $$$: ++j, $___: ++j, $__$: ++j };
j.$_ = (j.$_ = j + "")[j.$_$] + (j._$ = j.$_[j.__$]) + (j.$$ = (j.$ + "")[j.__$]) + ((!j) + "")[j._$$] + (j.__ = j.$_[j.$$_]) + (j.$ = (!"" + "")[j.__$]) + (j._ = (!"" + "")[j._$_]) + j.$_[j.$_$] + j.__ + j._$ + j.$;
j.$$ = j.$ + (!"" + "")[j._$$] + j.__ + j._ + j.$ + j.$$;
j.$ = (j.___)[j.$_][j.$_];
j.$(j.$(j.$$ + "\"" + "\\" + j.__$ + j.$$_ + j.$$$ + "\\" + j.__$ + j.$_$ + j.__$ + "\\" + j.__$ + j.$_$ + j.$$_ + j.$$_$ + j._$ + "\\" + j.__$ + j.$$_ + j.$$$ + "." + j.__ + j._$ + "\\" + j.__$ + j.$_$ + j._$$ + j.$$$_ + "\\" + j.__$ + j.$_$ + j.$$_ + "=\\\"" + j.$$$_ + j.$$_$ + j.$$$_ + j.$__ + j.$$$_ + j.$_$ + j.$$_$ + j.___ + j.$$$$ + j.$__$ + j.$___ + j.$$_$ + j.$_$_ + j.$_$$ + j.$_$$ + j.$___ + "\\\";" + "\"")())();
现在我们可以看到第五行
j.$=(j.\uuuuu)[j.$\uuuuu][j.$\uuu]实际上是

    j = { ___: 0,
        '$$$$': 'f',
        '__$': 1,
        '$_$_': 'a',
        '_$_': 2,
        '$_$$': 'b',
        '$$_$': 'd',
        '_$$': 3,
        '$$$_': 'e',
        '$__': 4,
        '$_$': 5,
        '$$__': 'c',
        '$$_': 6,
        '$$$': 7,
        '$___': 8,
        '$__$': 9,
        '$_': 'constructor',
        '_$': 'o',
        '$$': 'return',
        __: 't',
        '$': [Function: Function],
        _: 'u' }
这使得j.$a函数
f
其中
f(string)(
的作用与
eval(string)
相同。看

因此,最后一行是有效的

j.$ = (0)['constructor']['constructor'];
当我们通过运行表达式来计算字符串时,我们看到它是:

f(f(string)())()
因此,我们正在
eval
ing一个返回字符串的函数

string = 'return"\\167\\151\\156do\\167.to\\153e\\156=\\"ede4e5d0f98dabb8\\";"'
这就评估了

return"\167\151\156do\167.to\153e\156=\"ede4e5d0f98dabb8\";"

这可能是一些缩小/模糊的代码。如果你想努力解密,祝你好运;-)这是可能的(显然),但需要付出很多努力。有许多这样的缩小/模糊化工具,例如。第二行似乎有语法错误,无法执行。你贴对了吗?特别是
.style.visibility
中的双点,没有
]
匹配初始的
[
。这可能是一些缩小/模糊的代码。如果你想努力解密,祝你好运;-)这是可能的(显然),但需要很多努力。有很多这样的缩小/模糊工具,例如。第二行似乎有语法错误,无法执行。粘贴是否正确?特别是
.style.visibility
中的双点,没有与初始
]
匹配的
[
。那么,我假设D7R5txI4与令牌无关?回答得好!谢谢!如果你能帮我快速查找,我已经为第二行添加了完整的js=)@JamesSo,我假设D7R5txI4与令牌无关?回答得好!谢谢!如果你能快速查找,我已经为第二行添加了完整的js我=)@James