Fra*_*tte 5 javascript arrays syntax literals deobfuscation
我在谷歌搜索转换器,但我没有找到任何东西.有没有可用的工具,或者我必须制作一个解码我混淆的JavaScript代码?
我认为有这样一个工具,但我没有用正确的关键字搜索谷歌.代码长3页,这就是我需要工具的原因.
以下是代码的示例:
<script>([][(![]+[])[!+[]+!+[]+!+[]]+(!![]+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[+!+[]+[+[]]]+(!![]+[])[+!+[]]+(!![]+[])[+[]]][([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]+(![]+[])[!+[]+!+[]]]()[(!![]+[])[!+[]+!+[]+!+[]]+(+(+[])+[][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]])[!+[]+!+[]+!+[]+[+[]]]+(![]+[])[+!+[]]+(![]+[])[!+[]+!+[]]])(([]+[])[([][(![]+[])[+[]]+([![]]+[][[]])[+!+[]+[+[]]]+(![]+[])[!+[]+!+[]]+(!![]+[])[+[]]+(!![]+[])[!+[]+!+[]+!+[]]+(!![]+[])[+!+[]]]+[])[!+[]+!+[]+!+[]]+(!![]+
Run Code Online (Sandbox Code Playgroud)
谢谢
这个问题已经被接受了,但我仍然会发帖来澄清一些事情。
当这个想法出现时,有人制作了一个生成器来以这种方式编码 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,所以这段代码现在有点损坏了。