可以肯定,那个新的AlxRes.dll来源于Alexa/" target=_blank>Alexa网站。我粗略地分析了一下Alexa/" target=_blank>Alexa的升级过程:在注册表的“HKEY_LOCAL_MACHINE\SOFTWARE\Alexa/" target=_blank>Alexa Internet”分支下存放了一个名为“lastupdate”,这个值存放了最后一个更新的日期。Alexa/" target=_blank>Alexa Toolbar 被加载时会检查这个键值,当改值的日期与当前日期相差CHECK_UPDATE_INTERVAL这个值的时候,Alexa/" target=_blank>Alexa Toolbar便从远程启动。
Alexa/" target=_blank>Alexa Toolbar在启动时首先加载"res://AlxTB1.dll/CHTML/BOOTSTRAP.HTML",这个页面中的代码会判断是否需要更新Alexa/" target=_blank>Alexa Toolbar,如果不需要,则跳转到"res://AlxRes.dll/CHTML/index.html",如果需要更新,则跳转到http://client.alexa.com/holiday/script/index.html。这就是所谓的远程启动了。
然后AlxTB1.dll会调用URLDownloadToFile函数来下载更新的程序文件。有一点要指出:Alexa/" target=_blank>Alexa Toolbar 只需要更新AlxRes.dll文件就可以了,因为Alexa/" target=_blank>Alexa Toolbar的主要代码都在这个文件里。
最后还要告诉大家一个好消息:这次更新并没有改变数据的收集方式,数据的格式还是和以前一样的。

