我需要一个Javascript文字语法转换器/反混淆工具

Fra*_*tte 5 javascript arrays syntax literals deobfuscation

我在谷歌搜索转换器,但我没有找到任何东西.有没有可用的工具,或者我必须制作一个解码我混淆的JavaScript代码?

我认为有这样一个工具,但我没有用正确的关键字搜索谷歌.代码长3页,这就是我需要工具的原因.

以下是代码的示例:

<script>([][(![]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]()[(!![]+[])[!+[]+!+[]+!+[]]+(+(+[])+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+!+[]+[+[]]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]])(([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+
Run Code Online (Sandbox Code Playgroud)

谢谢

cop*_*opy 1

这个问题已经被接受了,但我仍然会发帖来澄清一些事情。

当这个想法出现时,有人制作了一个生成器来以这种方式编码 JavaScript。它是建立在做的基础上的[]["sort"]["call"]()["eval"](/* big blob of code here */)。因此,您可以通过删除 sort-call-eval 部分(即前 1628 个字节)轻松解码该编码器的结果。在这种情况下,它会产生:

if (document.cookie=="6ffe613e2919f074e477a0a80f95d6a1"){ alert("bravo"); }
else{ document.location="http://www.youtube.com/watch?v=oHg5SJYRHA0"; }
Run Code Online (Sandbox Code Playgroud)

(有趣的是,这段代码的创建者甚至无法正确压缩它并节省千字节)

还有一个解释为什么此代码不再在较新的浏览器中工作:它们进行了更改,Array.prototype.sort因此它不会返回对window. 据我记得,这是获得对 的引用的唯一方法window,所以这段代码现在有点损坏了。