`

Alexa工具条嵌入浏览器技术解析

 
阅读更多

  Alexa工具栏使用Toolbar Bands和Browser Help Object技术嵌入IE浏览器。

  Alexa Toolbar可以获得当前浏览器的IWebBrowser2接口,通过这个接口就可以对浏览器为所欲为了。不过Alexa Toolbar的实现十分奇怪:它的界面和主程序是用HTML和javascript实现的,这就是大家经常抱怨使用Alexa Toolbar后导致运行变慢的原因。而且Alexa Toolbar中的javascript有许多冗余代码,且有多处的资源泄漏,当用一个IE窗口长时间浏览网页时会消耗大量的系统资源,建议安装Alexa Toolbar的IE用户在一个窗口长时间运行后,关闭再重新运行。

  前面说的那些HTML和javascript代码是以资源的形式存在于alxres.dll文件中的,Alexa Toolbar的界面其实就是一个IE窗口,只不过它屏蔽了右键,这个IE窗口通过"res://alxres.dll/..."来加载HTML页面和脚本的。也许你会自作聪明用一些PE文件资源修改工具来修改alxres.dll,以实现修改alexa toobar的代码。不过Alexa Toolbar的设计者早就想到这一点,他们通过对AlxRes.dll进行校验和计算来拒绝加载修改过的Alxres.dll(不过很奇怪,他们为什么不通过加壳的方式来防止修改呢?),这一功能由AlxTB1.dll导出的ChecksumResources函数实现的,AlxRes.dll在加载的过程中会调用这一函数对自己进行校验。****方法很简单(下面方法仅对7.0.1.52.1201版本有效,其他版本没有测试):用16进制编辑器,如:WinHex等,打开alxres.dll文件,将文件偏移 0x170f 处的2个字节改为 0x90 就行了。

  如果你想了解Alexa Toolbar的运行流程,可以修改“res://AlxRes.dll/CHTML/index.html”的231行,将“var g_bDebug=false;”改成“var g_bDebug=true;”就可以了。现在IE加载完alexa toolbar后,会打开一个新的弹出窗口来输出alexa toolbar的调试信息。

  现在你可以随心所欲地修改alexa toolbar了,加入后门啦,写入代码啦都可以,不过我还是对前者比较感兴趣。

  新版本的 Alexa Toolbar ****方法

  国庆节后,Alexa Toolbar 更新了版本。

  以下是关于新版本7.0.1.52.1202的****方法:

  将 AlexaRes.dll 文件偏移 "0x17F6" 处开始的两个字节"0x1175"改为"0x9090"

  你可以通过各种16进制编辑器来修改,显示的应该是 "75 11",改为 "90 90"。

  修改Alexa Toolbar 造成的任何结果与我无关啊

Alexa Toolbar 内部揭密

  关于Alexa排名的方法网上有介绍很多种,不过都是没有用的,至少现在已经没有用了。

  10月6日后,Alexa排名规则有了重大的改变,而且一直在变,所以现在很多网站的排名都不稳定(包括的)。而我今天揭密的内容用来的话已经显得不够了。

  Alexa Toolbar的大量代码是用HTML和javascript来实现的,资源泄漏问题严重啊,真不知道它的设计者是怎么想的。Alexa Toolbar的程序实现原理在我以前的文章中也多多少少提到过,所以今天就不讲了。今天来讲一讲Alexa Toolbar发送的HTTP请求格式。

  下面是Alexa Toolbar发送的GET请求部分:

  GET /data/ezdy01DOo100QI?cli=10&dat=snba&ver=7.0&cdt=alx_vw%3D20%26wid%3D16865%26act%3D00000000000%26ss%3D1024x768%26bw%3D775%26t%3D0%26ttl%3D1125%26vis%3D1%26rq%3D2&url=http://20cn.net/~tabris17/ HTTP/1.1

  将URL部分解码后得到:

  /data/ezdy01DOo100QI?cli=10&dat=snba&ver=7.0& cdt=alx_vw=20&wid=16865&act=00000000000&ss=1024x768& bw=775&t=0&ttl=1125&vis=1&rq=2&url=http://20cn.net/~tabris17/

  其中"ezdy01DOo100QI"是aid。

  "cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&"这部分是固定值。

  wid是个随机数。

  act数据包含了Alexa Toobar功能的被使用情况。

  ss很明显是屏幕分辨率了。

  bw是IE窗口的宽度。

  t取值是0或1,和当前IE的window对象还有referrer有关。

  ttl是当前页面打开速度,和Site Stats中的Speed有关。

  vis表明IE是否显示工具条。

  rq是对象计数器。

  大家可以看到,URL部分没有什么奥妙之处,很容易伪造。以前要的话只要大量伪造HTTP请求,不停发送就可以了,现在Alexa通过改进排名算法,杜绝了这种方法。

  奥妙之处在于Cookie部分,那里面保存了一些你的浏览隐私,所以Alexa把这部分数据加密了,通过一种类似于PGP的加密方法,你可以在Alexa Toolbar的代码中找到这个加密用的公钥 "d9adyz93472kb63z521t6e80wqpi56znb16fya6im3dr3xwe" (好长啊,看起来很难****的样子)。密钥只有Alexa自己有啊,郁闷!
Alexa大解密

  1、Alexa是通过什么来计算流量的?

  其实在Alexa的网站上已经说了很清楚了,Alexa通过安装Alexa Toolbar的IE用户的反馈信息来进行统计的。并非有些人所说:Alexa会计算所有穿梭于Internet上的WEB流量,要做到这一点显然是不可能的。

  2、Alexa Toolbar的工作原理是怎样的?

  Alexa Toolbar是通过BHO技术和Toolbar Bands技术来监视IE行为的,IE浏览器的地址栏的每一次变化都逃不过Alexa的法眼。不过处于安全性考虑,Alexa Toolbar不会统计用户的HTTPS协议的流量。Alexa Toolbar其实就是向http://data.alexa.com发送HTTP请求来发出用户浏览信息的,这个请求的格式我已经****了。

  3、Alexa排名真的可以吗?

  绝对可以。但是现在你能在网上搜索到的方法和工具都是无效的。比如有一种方法说能通过MYIE这样的浏览器来刷排名,显然此文的作者并不懂Alexa Toolbar的工作原理,MYIE是不会加载Alexa Toolbar的。AlexaBooster也不行,因为它忽视了aid的生成算法,以及cookie的作用。

  4、Alexa会识别行为吗?

  Alexa有一套算法来判断收到的信息是否有伪造的嫌疑。

  5、Alexa会像google一样对行为进行惩罚吗?

  Alexa不像google,它的信息来源Alexa Toolbar的用户,而非网站自身,这些数据的真实性是无法保证的。仅凭这些不可靠的数据而对一个网站进行惩罚是不可能的,因为很有可能有人恶意伪造某个站点的虚假信息来使Alexa惩罚该网站。但是Alexa会忽略有嫌疑的IP发出的数据。

  6、网页的自动跳转和自动刷新能提高Alexa排名吗?

  你可以在Alexa的网站上找到这么一句话:“Multiple page views of the same page made by the same user on the same day are counted only once.”。所以通过刷新页面来提高访问量是不可行的。而所谓的自动跳转就是:在用户点击一个连接后,先跳转到一个假页面,这个假页面会在1秒或几秒后跳转到真正的目标页面。这种方法看似可行,但是必须考虑加载Alexa Toolbar所需的时间,太短的话Alexa Toolbar是不会发送信息的,改善的方法就是不要在新窗口中打开连接,这样能避免新的IE窗口因加载Alexa Toolbar所耗费的时间。
Alexa是否真的针对者而改变了排名规则?

  经过10.1的7天漫漫长假,发现:Alexa网站已经从6号开始有所变动,很多人猜测这是不是为了针对者而使Alexa改变了排名规则?

  我到Alexa网站上看了看,除了以前那个Traffic Rank的图表界面有所变动外,好像找不出其他的迹象了。

  很多人认为近几天,一些中国门户网站的排名纷纷开始下降,表明Alexa的排名规则已经变了。其实这只是10.1长假的关系。10.1其间,大家要么出门旅游,要么睡觉休息,上网的话也只是玩网游,哪还有人看网页啊,如果这几天有哪个国内网站的排名不跌的话,那才是有的嫌疑呢。

  我个人估计Alexa的排名规则和依据不会有大变动,因为Alexa Toolbar不具备自动升级的功能,所以Alexa排名的数据依据在很长的一段时间内是不会改变的。能改变的只有排名的算法,顶多是改变了Reach和Page View对Rank影响的权重,或是对Reach和Page View出现异常的处理机制。

  Alexa工具栏竟然会自动升级

  本来一直以为 Alexa Toolbar 没有自动升级功能的,今天突然发现被我修改过的 Alexa Toolbar 竟然恢复正常状态了。我到系统目录下一看,原来被我修改的过的AlxRes.dll的大小是340k变成了336k,而且系统目录下多出了一个AlxRes.dll.bak的文件。我查看了一下Alexa Toolbar的版本信息,原来是“7.0.1.52.1201”,现在变成了“7.0.1.52.1202”。很明显,Alexa自动升级了。

  可以肯定,那个新的AlxRes.dll来源于Alexa网站。我粗略地分析了一下Alexa的升级过程:在注册表的“HKEY_LOCAL_MACHINE/SOFTWARE/Alexa Internet”分支下存放了一个名为“lastupdate”,这个值存放了最后一个更新的日期。Alexa Toolbar 被加载时会检查这个键值,当改值的日期与当前日期相差CHECK_UPDATE_INTERVAL这个值的时候,Alexa Toolbar便从远程启动。

  Alexa Toolbar在启动时首先加载"res://AlxTB1.dll/CHTML/BOOTSTRAP.HTML",这个页面中的代码会判断是否需要更新Alexa Toolbar,如果不需要,则跳转到"res://AlxRes.dll/CHTML/index.html",如果需要更新,则跳转到http://client.alexa.com/holiday/script/index.html。这就是所谓的远程启动了。

  然后AlxTB1.dll会调用URLDownloadToFile函数来下载更新的程序文件。有一点要指出:Alexa Toolbar 只需要更新AlxRes.dll文件就可以了,因为Alexa Toolbar的主要代码都在这个文件里。

  最后还要告诉大家一个好消息:这次更新并没有改变数据的收集方式,数据的格式还是和以前一样的

ps: 网联推广大师(最近我在搞的)
 是国内领先的互联网优化推广产品,可一起完成对google推广、baidu推广、yahoo推广、alexa排名的专业服务平台。

作者:龙犊整理 来源:天极yesky

分享到:
评论

相关推荐

    Alexa工具条下载

    如果IE中嵌入了Alexa工具条,那么每访问一个网站,其综合排名就会显示出来。Alexa工具条是一个免费的网络导览辅助工具,当您在网络上 " 冲浪 " 的时候,它可以帮您更快速、更有效的找到相关的链接,这些链接主要都是...

    alexa工具条安装程序

    就是alexa工具条的安装程序 呵呵,描述要长~~~~~

    alexa工具条提供alexa排名刷网站排名必要

    Alexa工具条,方便观察网站排名情况,每次打开自己网站时,可有效提供排名

    ALEXA工具条for IE8,IE9

    解决IE8安装ALEXA工具条不兼容 亲测可用Alexa.9.0.0.31.rar 最高支持到IE9,先安装它,需要您先在IE的高级选项里打开"第三方插件支持"后才能显示出Alexa工具条,和工具-管理加载项里调用出来。 如果还不行,再安装...

    alexa站长伴侣delphi源代码-第一个专业操作alexa工具条的源码

    alexa站长伴侣delphi源代码-第一个专业操作alexa工具条的源码 截止今天2011年10月16日,delphi学习已经有5年之久。为了纪念过去的时间,特发布用了2个月,整整60天的白天和黑夜,做的delphi软件。 将成为第一操作...

    alexa工具条

    alexa工具条是alexa公司推出的一款IE浏览器插件,下载安装后,会在地址栏的下面出现一条alexa工具条,当你访问某个网站时,在alexa工具条中就会出现该网站的alexa世界排名情况。通过alexa工具条可以显示被访问网站...

    Alexa排名浏览器插件

    Alexa排名插件............

    Alexa排名查询工具

    其实alexa不但可以登录它的网站查询或者使用alexa工具条直接看到当前网站的排名, 它还提供一个收费的API,api返回的更详细的数据,但只要动动手,同样记录排名的要求,何乐而不为? 功能列表: UpdateAlexa:更新...

    Alexa.10.0.exe工具

    Alexa.10.0.exe 流量工具,方便好用!

    提升Alexa排名工具

    一般原理是安装alexa工具条,但是常在alexa查询自己的站点也可以提升。

    alexa工具栏空白问题解决

    alexa工具栏空白问题解决,可能用的人不太多,但是需要用它的人还是有的。

    SEO增加外链提升Alexa工具 v1.1 测试版.zip

    SEO增加外链提升Alexa工具帮助站长更快的提高Alexa排名,增加外链! SEO增加外链提升Alexa工具工作原理: 提升Alexa排名最简单的方法就是装个Alexa工具栏,另一种就是使用其官网查询你的站点。输入站点 每1分钟将...

    alexa查询工具1.0

    alexa查询能够查询alexa的排名,附带网站的截图工具

    alexa流量分享工具

    Alexa排名助手 免费的东西,天天挂着就可以了

    浏览器显示 网页pr值 百度谷歌收录情况工具栏

    可以在ie底部显示alexa排名,网页pr值,百度谷歌收录量的工具条

    仿51.la美化加强版多用户统计系统

    Alexa工具条 昨日详情 搜索引擎 关键词 操作系统 浏览器 屏幕色彩 屏幕大小 语言 时区 IP头 访问者地区 回头客 浏览深度 入口网址 来路 页面浏览 Alexa工具条 搜索引擎 搜索引擎 关键词 客户端 ...

    SEO alexa 工具

    SEO alexa 工具,强力加大SEO的能力,使Alexa排名大量提升,变成了非常有名的网站,大量赚钱

    Alexa工具栏

    一款十分好用的Alexa工具栏软件 网站世界排名利器

    糖果浏览器2.08绿色解压版

    糖果浏览器介绍 糖果浏览器是一款绿色,安全,高效的浏览器软件,对IE的各种流氓插件免疫,占用内存大大低于其它浏览器软件,有极快的启动速度/浏览速度。无论是糖果的安装程序,还是糖果浏览器主程序本身,均不...

Global site tag (gtag.js) - Google Analytics