作者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
1F:推 DragonPink:原始连结已经不见了... 04/07 12:55
2F:→ DragonPink:因为动到网路连线,所以被视为恶意行为? 04/07 12:57
3F:推 ephesians:其实搜寻得到,我搜寻到德国版的,今年一月的资料 04/07 18:40
4F:→ ephesians:里面有一部份程式码,geeks论坛的人都觉得很牛 04/07 18:41
5F:推 ephesians:版主,可以让咱把程式码贴出来看吗? 04/07 19:29
6F:推 DragonPink:我搜看看,结果今天晚上新闻就看到了这件事...0rz 04/07 21:22
7F:→ taicomjp:ok..不妨碍阅读都可以 04/08 03:04
9F:→ ephesians:既然是卡巴误判,那就先不讨论这个程式吧... 04/12 01:36
10F:→ ephesians:有机会再研究看看这些奇怪的shift程式 04/12 01:37