作者ephesians (ephesians)
看板Ajax
標題[閒聊] Yahoo!的 "病毒" 程式碼
時間Sat Apr 7 12:49:43 2007
據說Yahoo!首頁有病毒,在大家繪聲繪影下,Google查不出所以然.
那只好以身試法了!
http://tw.yimg.com/1/tw/mc/mc2.js
看起來像是來自Yahoo!的js,聽說有毒,
用Ubuntu Firefox開來看,哦,大開眼界.
許多部份我們比較少用JavaScript寫到這種地步.
總之,有些地方看不懂,還搞不清楚到底是不是病毒碼.
起碼看不出哪裏有複製自身程式的行為,哪裏有植入程式的行為.
(geeks你要笑就笑吧,反正我是肉腳)
程式內容:
首先選告一個日期,然後把它加10年.
準備一個y64陣列,內容是 A-Z, a-z, 1-9, '.', '_'.
定義一些奇怪的functions.
然後執行doMc(0).
奇怪的functions:
function d2y64(d) 輸入符號d,輸出d在y64的位置
function toY64(n) 輸入n陣列,使用奇怪的查表法讀y64,儲存並輸出o陣列
function fromY64(n) 輸入n陣列,...看起來像是前者的反向動作.
function flashTest() 抓出IE Flash元件的版本號,把','換成'.'輸出.
function hCode() 查詢似乎跟螢幕高度有關的代碼
function wCode() 查詢似乎跟螢幕寬度有關的代碼
function connEncode(d) 輸入d字串,代表網路連線裝置,輸出對應代碼
function max(h) 輸入h陣列,輸出h陣列中編碼最大的項目
function resEncode(c, d)傳回c陣列中的d項目;若沒有d項,則傳回大於d的最小d'項
function tzEncode(d) 傳回(d+900)/30,不詳
function makeQ1() 10個數字的陣列,toY64編碼之後轉成q1網址參數字串
function makeQ2() 同上;4個數字的陣列,加上更多的因素 (這些看到快瘋了)
function getCookieByName(n)
function getQ1(mc) 抓出mc字串中"q1=xxx;"的q1參數,即xxx字串
function getQ2(mc) 抓出mc字串中"q2=xxx;"的q2參數,即xxx字串
function setMediaCookie(domain, path, expire)
抓抓看"Q=..." cookie,如果沒有"q1=..."參數或
"q2=..."參數,就幫你做一個,然後塞進cookie
function getRootDomain()很普通的抓取網域
function waitCc() 判斷javaEnabled,若不是javaEnabed則傳回真
function doMc(x) 等x秒之後開始setMediaCookie
看起來還蠻普通的,不過卡巴斯基偵測到病毒行為,而ClamWin也偵測到病毒行為.
怪哉.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.231.66.170
推 DragonPink:原始連結已經不見了... 04/07 12:55
→ DragonPink:因為動到網路連線,所以被視為惡意行為? 04/07 12:57
推 ephesians:其實搜尋得到,我搜尋到德國版的,今年一月的資料 04/07 18:40
→ ephesians:裏面有一部份程式碼,geeks論壇的人都覺得很牛 04/07 18:41
推 ephesians:版主,可以讓咱把程式碼貼出來看嗎? 04/07 19:29
推 DragonPink:我搜看看,結果今天晚上新聞就看到了這件事...0rz 04/07 21:22
→ taicomjp:ok..不妨礙閱讀都可以 04/08 03:04
→ ephesians:既然是卡巴誤判,那就先不討論這個程式吧... 04/12 01:36
→ ephesians:有機會再研究看看這些奇怪的shift程式 04/12 01:37