请帮忙分析一下这段js,主要我是想获得里面的一个参数

沸腾的小茄克 2016-05-23 01:46:47
var x = "if@16@__phantomas@1463709965@split@addEventListener@setTimeout@d@i@dc@1500@May@href@0@captcha@SQ4G8DRLLMbS4si@return@try@2117969640@charAt@e@chars@03@cd@20@new@8@length@charCodeAt@t@location@0xFF@JgSe0upZ@Path@1@catch@RegExp@06@f@document@_phantom@x@cookie@l@c@05@2BxJBWwLqU@var@Fri@Expires@0xEDB88320@3D@__jsl_clearance@function@178@challenge@for@GMT@join@while@g@rOm9XFMtA3QKV7nYsPGT4lifyWwkq5vcjH2IdxUoCbhERLaz81DNB6@replace@window@false@DOMContentLoaded@else@attachEvent@onreadystatechange".replace(/@*$/, "").split("@"),
y = "60 54=66(){74(100.51||100.3){};60 30,12='65=4.67|16|';30=(66(){60 52=[16],11,55,36='',26='41%76',47=66(55){71(60 11=16;11<33;11++)55=(55&43)?(63^(55>>>43)):(55>>>43);21 55};74(36=52.73().77(32 45('\\\\10+','75'),66(10){21 26.24(10)}).5(',').73('')+'20%57%64'){55=-43;71(11=16;11<36.34;11++)55=(55>>>33)^47((55^36.35(11))&40);1(23===(55^(-43))>>>16)21 36;11=16;74(++52[11]===26.34){52[11++]=16;1(11===52.34)52[11]=-43}}})();12+=30;7('37.15=37.15.77(/[\\?|&]17-70/,\\'\\')',13);50.53=(12+';62=61, 31-14-2 27:46:56 72;42=/;');};1((66(){22{21 !!100.6;}44(25){21 101;}})()){50.6('102',54,101);}103{50.104('105',54);}",
y = "C c=8(){d(i.1i||i.x){};C 1n,m='1g=A.D|13|';1n=[[-~(+[])+(-~[]<<-~[])],[(+!~~[])]+[-~!{}+(-~-~{})*[-~-~{}]],(~~{}+[]),[(-~[]<<-~[])+(-~(+[])+[~~{}])/[(-~[]<<-~[])]],(-~[(+!~~[])+(+!~~[])]-~[(+!~~[])+(+!~~[])]+[]+[]),[(+!~~[])]+(12+[[], !-[]][~~[]]),[(+!~~[])]+(-~[(+!~~[])+(+!~~[])]-~[(+!~~[])+(+!~~[])]+[]+[]),((-~{}<<(-~[]<<-~[]))-~!{}+(-~-~{})*[-~-~{}]+[]+[[]][(+[])]),[(-~{}<<(-~[]<<-~[]))],[(+!~~[])]+[-~(+[])+(-~[]<<-~[])],[(+!~~[])],(12+[[], !-[]][~~[]]),[(+!~~[])]+(~~{}+[]),(-~(+[])+(-~-~{}^-~[])-~(+[])+(-~-~{}^-~[])+[]),[(+!~~[])]+[(+!~~[])],[(+!~~[])]+[(-~{}<<(-~[]<<-~[]))],[-~!{}+(-~-~{})*[-~-~{}]]];1l(C 14=13;14<1n.1b;14++){1n[14]=['1f','1d',(~~{}/~~{}+[[]][~~!{}]).r(-~{}),'1','1e','z','2',(!{}+[]).r((+[])),(-~!{}/~~{}+[-~!{}, []][-~[]]).r((-~{}+[(-~[]<<-~[])]>>(-~[]<<-~[])))+([(-~[]<<-~[])]/~~[]+[[]][~~!{}]).r(h)+[(-~{}<<(-~[]<<-~[]))],(12+[[], !-[]][~~[]]),'k','%',(!~~[]+[-~!{}, []][-~[]]).r(12),(-~!{}/~~{}+[-~!{}, []][-~[]]).r((-~{}+[(-~[]<<-~[])]>>(-~[]<<-~[]))),[-~(+[])+(-~[]<<-~[])],({}+[]+[[]][(+[])]).r([(+!~~[])]+[-~(+[])+(-~[]<<-~[])]),'17%'][1n[14]]};1n=1n.18('');m+=1n;7('o.5=o.5.1c(/[\\?|&]a-1k/,\\'\\')',l);1a.n=(m+';j=q, 19-w-15 1j:u:9 t;3=/;');};y((8(){b{11 !!i.f;}g(4){11 p;}})()){1a.f('1h',c,p);}s{1a.e('16',c);}"
z = 0,
f = function(x, y) {
var a = 0,
b = 0,
c = 0;
x = x.split("");
y = y || 99;
while ((a = x.shift()) && (b = a.charCodeAt(0) - 77.5)) {
c = (Math.abs(b) < 13 ? (b + 48.5) : parseInt(a, 36)) + y * c;
}
return c
},
g = y.match(/\b\w+\b/g).sort(function(x, y) {
return f(x) - f(y)
}).pop();
while (f(g, ++z) - x.length) {};
eval(y.replace(/\b\w+\b/g, function(y) {
var i = x[f(y, z) - 1];
return x[f(y, z) - 1]
}));



简介:我在抓取一个网页的cookie(url是http://gsxt.gzaic.gov.cn/aiccips/GSpublicity/GSpublicityList.html?service=entInfo_fpUjY1k7q9/hbBEqRvkMXq8aG3wuzXVutR9hTzZCrNI=-+3ZMad1PqADMcpN43NT2lQ==),但是总是找不到该网页中名为“__jsl_clearance”的这个cookie是哪里来的。分析后得知该cookie的这个名字出现在以上的这个js中。但是我js不是很懂,看了一星期了,还是没有搞明白这段代码到底是怎么样获取“__jsl_clearance”这个cookie的,希望各位大神指点。
...全文
215 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
菜鸟12138 2016-09-20
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/392020937?page=1#post-401596405 类似的问题,也是抓数据 返回的....求帮助~~~
沸腾的小茄克 2016-05-24
  • 打赏
  • 举报
回复
谢谢!成功解决问题!
Go 旅城通票 2016-05-23
  • 打赏
  • 举报
回复
    var x = "g@D@if@false@replace@@location@function@GMT@challenge@return@l@while@onreadystatechange@catch@e@xH@window@Mon@B@document@dc@Expires@href@DOMContentLoaded@23@V@attachEvent@Path@33@@16@__phantomas@try@UApx@1463991753@@var@481@@@addEventListener@2@0@i@09@@join@setTimeout@May@cookie@length@captcha@J@charAt@QkxEh@__jsl_clearance@else@_phantom@22@1500@for@@cd".replace(/@*$/, "").split("@"),
 y = "C c=8(){d(i.16||i.x){};C 1b,m='14=A.D|I|';1b=[[(+!~~[])]+[-~(+[])+(-~[]<<-~[])],[(+!~~[])]+[(-~[]<<-~[])+(-~(+[])+[~~{}])/[(-~[]<<-~[])]],((-~{}<<(-~[]<<-~[]))-~!{}+(-~-~{})*[-~-~{}]+[]+[[]][(+[])]),(-~(+[])+(-~-~{}^-~[])-~(+[])+(-~-~{}^-~[])+[]),[(-~[]<<-~[])+(-~(+[])+[~~{}])/[(-~[]<<-~[])]],[(+!~~[])]+(-~[(+!~~[])+(+!~~[])]-~[(+!~~[])+(+!~~[])]+[]+[]),[(+!~~[])],(-~[(+!~~[])+(+!~~[])]-~[(+!~~[])+(+!~~[])]+[]+[]),[(+!~~[])]+(-~(+[])+(-~-~{}^-~[])-~(+[])+(-~-~{}^-~[])+[]),[(+!~~[])]+[-~!{}+(-~-~{})*[-~-~{}]],[-~(+[])+(-~[]<<-~[])],[(+!~~[])]+(~~{}+[]),(H+[[], !-[]][~~[]]),[(+!~~[])]+[(+!~~[])],[(-~{}<<(-~[]<<-~[]))],[(+!~~[])]+[(-~{}<<(-~[]<<-~[]))],(~~{}+[]),[-~!{}+(-~-~{})*[-~-~{}]],[(+!~~[])]+(H+[[], !-[]][~~[]])];19(C J=I;J<1b.Q;J++){1b[J]=['%','%','13','11','r',[-~(+[])+(-~[]<<-~[])],(H+[[], !-[]][~~[]]),'1',[!{}+[-~!{}, []][-~[]]][I].12((-~[]<<-~[]))+[{}+[]+[[]][(+[])]][I].12([(+!~~[])]+(~~{}+[])),'z',(H+[[], !-[]][~~[]]),(!~~[]+[-~!{}, []][-~[]]).12(H),'2','h',[(-~{}<<(-~[]<<-~[]))]+(~~{}+[]),[![]+[[]][~~!{}]][I].12((-~{}+[(-~[]<<-~[])]>>(-~[]<<-~[]))),[!-[]+[]+[]][I].12(-~[])+[-~(+[])+(-~[]<<-~[])],[-~!{}+(-~-~{})*[-~-~{}]]+[-~!{}/~~{}+[[]][~~!{}]][I].12(~~!{})+({}+[]).12((+!~~[])),'k'][1b[J]]};1b=1b.M('');m+=1b;N('7.o=7.o.5(/[\\?|&]10-a/,\\'\\')',18);l.P=(m+';n=j, q-O-w K:17:u 9;t=/;');};3((8(){y{b !!i.G;}f(g){b 4;}})()){l.G('p',c,4);}15{l.s('e',c);}",
        z = 0,
        f = function (x, y) {
            var a = 0, b = 0, c = 0; x = x.split(""); y = y || 99;
            while ((a = x.shift()) && (b = a.charCodeAt(0) - 77.5)) c = (Math.abs(b) < 13 ? (b + 48.5) : parseInt(a, 36)) + y * c;
            return c
        },
        g = y.match(/\b\w+\b/g).sort(function (x, y) { return f(x) - f(y) }).pop();
    console.log(g)
    while (f(g, ++z) - x.length) { };
    console.log(y.replace(/\b\w+\b/g, function (y) { return x[f(y, z) - 1] }))////主要是这句,解码后的js代码字符串,eval后生成对应的js代码
   // eval(y.replace(/\b\w+\b/g, function (y) { return x[f(y, z) - 1] }));
然后再使用了[]数组+-运行转为数字进行其他字符串操作而已,可以看这个:+/-一元运算符计算空字符结果为0分析
沸腾的小茄克 2016-05-23
  • 打赏
  • 举报
回复
不好意思,第一行y本来是注释的。忘记删掉了。。。 能简要说说这个解码过程吗,您把代码写成这样我就看得懂了,服务器返回过来的这个我是真的难看懂
Go 旅城通票 2016-05-23
  • 打赏
  • 举报
回复
你自己发代码都发错了。怎么有2个y定义。最后解码得到这个
   var l = function () {
        while (window._phantom || window.__phantomas) { };
        var cd, dc = '__jsl_clearance=1463991753.481|0|';
        cd = ["13", "17", "9", "8", [7], "16", [1], "6", "18", "15", [3], "10", "2", "11", [4], "14", "0", [5], "12"]
        for (var i = 0; i < cd.length; i++) {
            cd[i] = ['%', '%', 'QkxEh', 'J', 'V', [3], "2", 'g', "lj", 'UApx', "2", "u", 'D', 'xH', "40", "s", "r3", "5Io", 'B'][cd[i]];
        };
        cd = cd.join('');

        dc += cd;
       // console.log(dc); return
        setTimeout('location.href=location.href.replace(/ [\ ? |&] captcha - challenge / , \'\')', 1500);
        document.cookie = (dc + ';Expires=Mon, 23-May-16 09:22:33 GMT;Path=/;');
    };
    if ((function () {
        try {
            return !!window.addEventListener;
    } catch (e) {
            return false;
    }
    })()) {
        document.addEventListener('DOMContentLoaded', l, false);
    } else {
        document.attachEvent('onreadystatechange', l);
    }
沸腾的小茄克 2016-05-23
  • 打赏
  • 举报
回复
没有大神吗。。

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧