有趣的JavasSript混淆方法 - 无法解码它

时间:2011-12-02 22:09:50

标签: javascript encryption obfuscation

我遇到了这个有趣的JavaScript文件......我似乎无法解码它...任何想法?或者它实际上是加密的吗?

http://pastebin.com/nRLr4hPY

3 个答案:

答案 0 :(得分:3)

在控制台中: 粘贴在第一部分直到eval

_=" \u0009  .....         ";

第二部分用控制台中的eval替换unescape并运行它

unescape("_\u005f=\u0027';f\u006fr(i\u003d0;i<\u005f.l\u0065ng\u0074h;\u0069+\u002b)\u005f_+=S\u0074rin\u0067.\u0066r\u006fm\u0043harC\u006fde(\u005f.c\u0068a\u0072Co\u0064e\u0041t(i)\u005e3);e\u0076\u0061l(\u005f_)");

应该给你这个:

"__='';for(i=0;i<_.length;i++)__+=String.fromCharCode(_.charCodeAt(i)^3);eval(__)"

将新代码中的eval更改为console.log并运行

__='';for(i=0;i<_.length;i++)__+=String.fromCharCode(_.charCodeAt(i)^3);console.log(__)

在控制台中输出输出并将其放在js beautifier中,它会为您提供the code

这不安全,只需30秒即可获得代码。

答案 1 :(得分:2)

这是unicode。使用

unescape( encodeURIComponent( s ) );

以它的正常形式获取它。它仍然是混淆的,但这会让你开始。

答案 2 :(得分:2)

好像它以unicode编码。放弃它的东西在底部,它解析了那些巨大的东西并对其进行解码,然后看起来它通过eval( )运行它。

如果你想解密它,可以通过底部的函数运行它并尝试捕获输出。

但不,它实际上并没有加密。有足够的耐心,你可以得到实际的代码。否则,浏览器会阻塞它。如果没有密钥,他们就无法解密加密的javascript。