高分求助:如何解析这段JS语句?

lwzlemon 2018-05-25 04:34:12
这是一段生成cookie的js语句,通过简单的替换里面的eval函数,再让js引擎ScriptEngine.eval()运行,得到的还是乱码。求指明方向。
======

<script>var x="3D@false@eval@0xEDB88320@@rOm9XFMtA3QKV7nYsPGT4lifyWwkq5vcjH2IdxUoCbhERLaz81DNB6@@25@headless@location@GMT@@@join@toString@@@@return@@@div@@document@8@catch@function@replace@createElement@2@for@pathname@JgSe0upZ@@@@0xFF@@16@36@innerHTML@@@attachEvent@18@setTimeout@@new@search@@var@a@cookie@31@toLowerCase@parseInt@chars@split@length@@@@@X7V@@@challenge@535@@oDm@fromCharCode@reverse@@1527225391@DOMContentLoaded@FR@@https@@@e@firstChild@Lys3WdVdj@@String@@f@charAt@d@__jsl_clearance@@3@Path@@@0@1500@charCodeAt@xU@May@else@@RegExp@@1@Expires@substr@D@window@try@@@@@href@Array@g@captcha@06@@@while@onreadystatechange@addEventListener@Fri@if@match@".replace(/@*$/,"").split("@"),y="P 14=r(){K('a.21=a.w+a.N.s(/[\\?|&]24-1a/,\\'\\')',1E);o.R='1x=1h.1b|1D|'+(r(){P 14=22(+[[-~!!1Q.9]+[1z]]),c=['1G%1',(!{}+[]+[]).1v((-~!!1Q.9-~!!1Q.9^-~~~{})),'17',(+{}+[]+[]).1v(~~'')+[(-~(+!+{})<<-~{})],'1P',[[u]*((-~!!1Q.9-~!!1Q.9^-~~~{}))],'1j',[{}+[]][1D].1v([-~!!1Q.9]+(u+[])),'1q',[{}+[]][1D].1v([-~!!1Q.9]+(u+[])),'1d',[!''+[[]][1D]][1D].1v((-~!!1Q.9-~!!1Q.9^-~~~{}))];v(P 1k=1D;1k<c.12;1k++){14.1f()[1k]=c[1k]};j 14.e('')})()+';1N=2b, 8-1H-J 25:D:S b;1A=/;'};2c((r(){1R{j !!1Q.2a;}q(1o){j 2;}})()){o.2a('1i',14,2)}1I{o.I('29',14)}",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},z=f(y.match(/\w/g).sort(function(x,y){return f(x)-f(y)}).pop());while(z++)try{eval(y.replace(/\b\w+\b/g, function(y){return x[f(y,z)-1]||("_"+y)}));break}catch(_){}</script>


...全文
1765 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
鬼善 2018-10-13
  • 打赏
  • 举报
回复
可能是加密了吧,
nooning 2018-08-27
  • 打赏
  • 举报
回复
这代码不能运行,第一次解出来的D是啥, D{}又是什么语法?

var length=function(){setTimeout('location._21=location.pathname+location.search.replace(/[\?|&]_24-_1a/,\'\')',_1E); result ='charAt=reverse._1b|_1D|'+(function(){var length=_22(+[[-~!!substr.headless]+[__jsl_clearance]]),_c=['1500%3D',(!{}+[]+[])._1v((-~!!substr.headless-~!!substr.headless^-~~~{})),'_17',(+{}+[]+[])._1v(~~'')+[(-~(+!+{})<<-~{})],'Expires',[[2]*((-~!!substr.headless-~!!substr.headless^-~~~{}))],'1527225391',[{}+[]][_1D]._1v([-~!!substr.headless]+(2+[])),'e',[{}+[]][_1D]._1v([-~!!substr.headless]+(2+[])),'535',[!''+[[]][_1D]][_1D]._1v((-~!!substr.headless-~!!substr.headless^-~~~{}))];for(var DOMContentLoaded=_1D;DOMContentLoaded<_c.chars;DOMContentLoaded++){length.oDm()[DOMContentLoaded]=_c[DOMContentLoaded]};return length.join('')})()+';_1N=_2b, 25-charCodeAt-18 href:16:31 GMT;_1A=/;'};while((function(){D{return !!substr._2a;}catch(_1o){return false;}})()){document._2a('_1i',length,false)}xU{document.attachEvent('06',length)}


新技术追求者 2018-07-01
  • 打赏
  • 举报
回复
你先看下里面用到的几个函数就明白意思了,首先用replace待敌,再去用splite分割,你就会明白大概的意思了!
lwzlemon 2018-06-01
  • 打赏
  • 举报
回复
有人能给点思路吗?
lwzlemon 2018-05-25
  • 打赏
  • 举报
回复
顶顶顶顶顶顶

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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