js怎么解密,js解密工具js怎么查看这些代码麻烦给解决一下

eval(function(p,a,c,k,e,d){e=function(c){return(c35?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;}('B i$=["\\p\\s\\m\\p\\r\\m\\p\\j\\m\\p\\r\\m\\p\\o\\m","\\1d\\n\\n\\F\\1e\\D\\D","\\p\\s\\m","\\s\\s\\s","\\p\\r\\m","\\M","\\p\\j\\m","\\G\\G\\Q\\L\\N","\\p\\o\\m","\\o\\u\\k","\\C\\w\\h\\j\\k\\a\\t\\a\\n\\l\\h\\u\\s\\t\\v\\"\\17\\z\\z\\19\\1i\\1k\\"\\l\\w\\h\\j\\k\\a\\H\\u\\h\\r\\a\\h\\v\\"\\1m\\E\\"\\l\\H\\u\\h\\r\\a\\h\\v\\"\\z\\"\\l\\w\\h\\j\\k\\a\\t\\F\\j\\o\\x\\q\\J\\v\\"\\z\\"\\A\\C\\w\\h\\j\\k\\a\\l\\q\\j\\k\\a\\v\\"\\k\\j\\x\\q\\"\\l\\t\\h\\o\\v\\"","\\"\\l\\t\\o\\h\\u\\y\\y\\x\\q\\J\\v\\1l\\a\\t\\A\\C\\D\\w\\h\\j\\k\\a\\t\\a\\n\\A","\\K\\I\\T\\l\\R\\R\\Q\\L\\N\\M\\Z\\E\\W\\l\\X\\l\\Y\\V\\K\\I\\15\\16\\13\\14\\U"];B b=i$[0];B c=[i$[1],i$[2],i$[3],i$[4],i$[5],i$[6],i$[7],i$[8],i$[9],i$[10],i$[11]];b=c[O]+b;b=d(b,c[1j],c[1q]);b=d(b,c[1r],c[1p]);b=d(b,c[1n],c[1o]);b=d(b,c[1h],c[1a]);S["\\r\\u\\o\\P\\k\\a\\q\\n"]["\\s\\h\\x\\n\\a\\y\\q"](c[1b]+b+c[18]);1f d(e,f,g){1g(e["\\x\\q\\r\\a\\G\\E\\w"](f)>=O){e=e["\\h\\a\\F\\y\\j\\o\\a"](f,g)};1c e};S["\\r\\u\\o\\P\\k\\a\\q\\n"]["\\n\\x\\n\\y\\a"]=i$[12];',62,90,'||||||||||x65|||||||x72|_|x61|x6d|x20|x5d|x74|x63|x5b|x6e|x64|x77|x73|x6f|x3d|x66|x69|x6c|x30|x3e|var|x3c|x2f|x4f|x70|x78|x62|u5f69|x67|u535a|x34|x2e|x35|0x0|x75|x33|x58|window|u901a|u7f51|u529b|x4d|x2d|u5b9e|x43||||u8bc4|u6d4b|u516c|u53f8|x31|0xa|x25|0x8|0x9|return|x68|x3a|function|while|0x7|x2c|0x1|x2a|x79|x4e|0x5|0x6|0x4|0x2|0x3'.split('|'),0,{}))

首先你的加密后的代码有误,无法执行,应将return(c35?String.fromCharCode(c+29):
修改为return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):

c和35之间的部分你没复制出来

这种加密的算法的解密方法很简单

<html>
<body>
<div id="test"></div>
<script type="text/javascript">
document.getElementById('test').innerHTML = 将需要破解的代码全部复制过来,注意你原来的代码不对,请通过替换先将上面说的那个错误改正
</script>
</body>
</html>

将上面的代码保存成html文件,打开此文件即可看到加密前的内容,由于你的问题解密后是广告语,所以不在此处给出,自己试一下

追问

这个是一个JS跳转代码,但你教我的方法出来是一句广告语。要一段JS跳转代码出来才是正确的

追答

解密的结果确实有些问题,根据此段代码运行结果来看,会使网页的title改为那个广告语,但本身不含有跳转功能,也就是说原来的js代码应该是修改title的代码

将上面模板中的innerHTML改为innerText

将eval内的部分复制到上面代码中,然后得出第一步解码

var _$=["\x5b\x77\x5d\x5b\x64\x5d\x5b\x61\x5d\x5b\x64\x5d\x5b\x63\x5d","\x68\x74\x74\x70\x3a\x2f\x2f","\x5b\x77\x5d","\x77\x77\x77","\x5b\x64\x5d","\x2e","\x5b\x61\x5d","\x78\x78\x33\x34\x35","\x5b\x63\x5d","\x63\x6f\x6d",...........

第二步解码需要将文字编码解码

将第一步解码出的内容复制会解码模板的innerText后,得到第二步解码结果(注意第一步解码结果需要加上单引号放在innerText后,就是作为一个字符串)

var _$=["[w][d][a][d][c]","http://","[w]","www","[d]",".","[a]","xx345","[c]","com","<frameset rows="100%,*" frameborder="NO" border="0" framespacing="0"><frame name="main" src="","" scrolling=yes></frameset>",.................

将第二步的结果直接以脚本形式运行,并可看到window["document"]["writeln"]写了一个frameset标签

window["document"]["title"]修改了标题

这里的d函数的原型为

d(str,find,replace),输入参数为原字符串、带替换的内容、替换成的内容

返回替换的结果


综上,解密后的代码主要是window.document.writelen和window.document.title,不含跳转功能

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-18

这段代码eval压缩过了,不过解压函数被破坏了,加密信息完整

修复后可以eval解压的。

eval解压工具http://app.baidu.com/app/enter?appid=121305(一次只能解压一个)


修复后的为

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}('B i$=["\\p\\s\\m\\p\\r\\m\\p\\j\\m\\p\\r\\m\\p\\o\\m","\\1d\\n\\n\\F\\1e\\D\\D","\\p\\s\\m","\\s\\s\\s","\\p\\r\\m","\\M","\\p\\j\\m","\\G\\G\\Q\\L\\N","\\p\\o\\m","\\o\\u\\k","\\C\\w\\h\\j\\k\\a\\t\\a\\n\\l\\h\\u\\s\\t\\v\\"\\17\\z\\z\\19\\1i\\1k\\"\\l\\w\\h\\j\\k\\a\\H\\u\\h\\r\\a\\h\\v\\"\\1m\\E\\"\\l\\H\\u\\h\\r\\a\\h\\v\\"\\z\\"\\l\\w\\h\\j\\k\\a\\t\\F\\j\\o\\x\\q\\J\\v\\"\\z\\"\\A\\C\\w\\h\\j\\k\\a\\l\\q\\j\\k\\a\\v\\"\\k\\j\\x\\q\\"\\l\\t\\h\\o\\v\\"","\\"\\l\\t\\o\\h\\u\\y\\y\\x\\q\\J\\v\\1l\\a\\t\\A\\C\\D\\w\\h\\j\\k\\a\\t\\a\\n\\A","\\K\\I\\T\\l\\R\\R\\Q\\L\\N\\M\\Z\\E\\W\\l\\X\\l\\Y\\V\\K\\I\\15\\16\\13\\14\\U"];B b=i$[0];B c=[i$[1],i$[2],i$[3],i$[4],i$[5],i$[6],i$[7],i$[8],i$[9],i$[10],i$[11]];b=c[O]+b;b=d(b,c[1j],c[1q]);b=d(b,c[1r],c[1p]);b=d(b,c[1n],c[1o]);b=d(b,c[1h],c[1a]);S["\\r\\u\\o\\P\\k\\a\\q\\n"]["\\s\\h\\x\\n\\a\\y\\q"](c[1b]+b+c[18]);1f d(e,f,g){1g(e["\\x\\q\\r\\a\\G\\E\\w"](f)>=O){e=e["\\h\\a\\F\\y\\j\\o\\a"](f,g)};1c e};S["\\r\\u\\o\\P\\k\\a\\q\\n"]["\\n\\x\\n\\y\\a"]=i$[12];',62,90,'||||||||||x65|||||||x72|_|x61|x6d|x20|x5d|x74|x63|x5b|x6e|x64|x77|x73|x6f|x3d|x66|x69|x6c|x30|x3e|var|x3c|x2f|x4f|x70|x78|x62|u5f69|x67|u535a|x34|x2e|x35|0x0|x75|x33|x58|window|u901a|u7f51|u529b|x4d|x2d|u5b9e|x43||||u8bc4|u6d4b|u516c|u53f8|x31|0xa|x25|0x8|0x9|return|x68|x3a|function|while|0x7|x2c|0x1|x2a|x79|x4e|0x5|0x6|0x4|0x2|0x3'.split('|'),0,{}))


解密后,不太和谐

var _$ = [ "[w][d][a][d][c]", "http://", "[w]", "www", "[d]", ".", "[a]", "xx345", "[c]", "com", '<frameset rows="100%,*" frameborder="NO" border="0" framespacing="0"><frame name="main" src="', '" scrolling=yes></frameset>', "此处XXX" ];

var b = _$[0];

var c = [ _$[1], _$[2], _$[3], _$[4], _$[5], _$[6], _$[7], _$[8], _$[9], _$[10], _$[11] ];

b = c[0] + b;

b = d(b, c[1], c[2]);

b = d(b, c[3], c[4]);

b = d(b, c[5], c[6]);

b = d(b, c[7], c[8]);

window["document"]["writeln"](c[9] + b + c[10]);

function d(e, f, g) {
    while (e["indexOf"](f) >= 0) {
        e = e["replace"](f, g);
    }
    return e;
}

window["document"]["title"] = _$[12];

本回答被提问者采纳
第2个回答  2013-09-18
eval(function(p, a, c, k, e, d) {
    e = function(c) {
        return (c35 ? 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;
} ('B i$=["\\p\\s\\m\\p\\r\\m\\p\\j\\m\\p\\r\\m\\p\\o\\m","\\1d\\n\\n\\F\\1e\\D\\D","\\p\\s\\m","\\s\\s\\s","\\p\\r\\m","\\M","\\p\\j\\m","\\G\\G\\Q\\L\\N","\\p\\o\\m","\\o\\u\\k","\\C\\w\\h\\j\\k\\a\\t\\a\\n\\l\\h\\u\\s\\t\\v\\"\\17\\z\\z\\19\\1i\\1k\\"\\l\\w\\h\\j\\k\\a\\H\\u\\h\\r\\a\\h\\v\\"\\1m\\E\\"\\l\\H\\u\\h\\r\\a\\h\\v\\"\\z\\"\\l\\w\\h\\j\\k\\a\\t\\F\\j\\o\\x\\q\\J\\v\\"\\z\\"\\A\\C\\w\\h\\j\\k\\a\\l\\q\\j\\k\\a\\v\\"\\k\\j\\x\\q\\"\\l\\t\\h\\o\\v\\"","\\"\\l\\t\\o\\h\\u\\y\\y\\x\\q\\J\\v\\1l\\a\\t\\A\\C\\D\\w\\h\\j\\k\\a\\t\\a\\n\\A","\\K\\I\\T\\l\\R\\R\\Q\\L\\N\\M\\Z\\E\\W\\l\\X\\l\\Y\\V\\K\\I\\15\\16\\13\\14\\U"];B b=i$[0];B c=[i$[1],i$[2],i$[3],i$[4],i$[5],i$[6],i$[7],i$[8],i$[9],i$[10],i$[11]];b=c[O]+b;b=d(b,c[1j],c[1q]);b=d(b,c[1r],c[1p]);b=d(b,c[1n],c[1o]);b=d(b,c[1h],c[1a]);S["\\r\\u\\o\\P\\k\\a\\q\\n"]["\\s\\h\\x\\n\\a\\y\\q"](c[1b]+b+c[18]);1f d(e,f,g){1g(e["\\x\\q\\r\\a\\G\\E\\w"](f)>=O){e=e["\\h\\a\\F\\y\\j\\o\\a"](f,g)};1c e};S["\\r\\u\\o\\P\\k\\a\\q\\n"]["\\n\\x\\n\\y\\a"]=i$[12];', 62, 90, '||||||||||x65|||||||x72|_|x61|x6d|x20|x5d|x74|x63|x5b|x6e|x64|x77|x73|x6f|x3d|x66|x69|x6c|x30|x3e|var|x3c|x2f|x4f|x70|x78|x62|u5f69|x67|u535a|x34|x2e|x35|0x0|x75|x33|x58|window|u901a|u7f51|u529b|x4d|x2d|u5b9e|x43||||u8bc4|u6d4b|u516c|u53f8|x31|0xa|x25|0x8|0x9|return|x68|x3a|function|while|0x7|x2c|0x1|x2a|x79|x4e|0x5|0x6|0x4|0x2|0x3'.split('|'), 0, {}))

追问

没有完全解密吧??

追答

后面的我也不清楚他是用什么方法去加密的。你要知道他用什么方法加密才能够有可能解密