日期:2014-05-16  浏览次数:20294 次

【高分奖励】javascript代码求指导求分析
如下代码:

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;
} ('d.e("<2 b=\\"c://h.i.f/g?q=%5%6%3%4%9%a&7=8&j=0&t=v&u=1&y=x\\" w=\\"s%\\" l=\\"k\\"  n=\\"r\\" p=\\"o\\" m=\\"0\\"></2>");',35, 35, '||iframe|B2|BD|C5|DC|pid|kk_123415|BB|FA|src|http|document|writeln|com|search|s|51qcm|unid|center|align|frameborder|height|no|scrolling||6060|100|mode|from_bt|23|width|mytest|initiative_id'.split('|'), 0, {})) 



主要是这句:('d.e("<2 b=\\"c://h.i.f/g?q=%5%6%3%4%9%a&7=8&j=0&t=v&u=1&y=x\\" w=\\"s%\\" l=\\"k\\"  n=\\"r\\" p=\\"o\\" m=\\"0\\"></2>");',35, 35, '||iframe|B2|BD|C5|DC|pid|kk_123415|BB|FA|src|http|document|writeln|com|search|s8|51qcm|unid|center|align|frameborder|height|no|scrolling||6060|100|mode|from_bt|23|width|mytest|initiative_id'.split('|'), 0, {})) 给我解释一下,变量与值是如何对应的啊。谢谢了
其中,mode=23 ; 
pid=kk_123415;
其他的字母对应啊,谢谢了,不会对应。求指导。
高分奖励。在线等。高手回答
javascript iframe

------解决方案--------------------
格式化、压缩、eval压缩JS/HTML代码。格式化即按标准代码格式化代码;普通压缩,及删除代码间间距以节约资源;eval压缩,及将Javascript代码转换成eval的方式;还原eval即从eval的方式代码还原到原生代码。

http://app.baidu.com/app/enter?appid=121305
------解决方案--------------------
你的代码是被压缩过的,你可以去

http://js.clicki.cc/

在线解压,你的代码解压两次可以看到


document.writeln("<iframe src=\"http://s.51qcm.com/search?q=%C5%DC%B2%BD%BB%FA&pid=kk_123415&unid=0&mode=23&from_bt=1&initiative_id=mytest\" width=\"100%\" align=\"center\"  height=\"6060\" scrolling=\"no\" frameborder=\"0\"></iframe>");