这段代码到底是做什么的?

时间:2015-07-14 12:56:28

标签: javascript obfuscation

/*
No source for you!
*//
/.source.replace(/.{7}/g,function(w){
document.write(String.fromCharCode(parseInt(w.replace(/ /g,'0').replace(/   /g,'1'),2)))});

我不太了解这个javascript,但这看起来像某种加密,但我相信评论有点相关,对不起我对解密的一点知识,谢谢你!

2 个答案:

答案 0 :(得分:4)

这很可爱。它将“源”拆分为7个字符长子串(.{7})并用01替换某些空白字符,然后解释这些01字符串为二进制数(parseInt(.., 2))并将它们转换为字符(String.fromCharCode)。空白源本身被写为正则表达式文字(/ /)。

基本上,所有源代码都被编码为“不可见”的空格,这段代码将其转换回实际的源代码。

由于源被写回到DOM然后你可以读取它,它对于实际的“保护”来说有点无用;但所有的混淆最终都是无用的。您无法隐藏Javascript代码,因为浏览器无法执行它。如果浏览器必须执行它,它必须以某种方式在某处公开显示。但同样,它是可爱的

答案 1 :(得分:1)

上面的代码将空格替换为0或1,hen将这些0和1字符串解释为二进制数并将它们转换为字符