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的主要代码都在这个文件里。

Alexa工具条嵌入浏览器技术解析相关推荐

  1. 完美解决ALEXA工具条无法显示或显示白框

    每次安装完alexa工具条就显示一个白框.跟别人的不一样!! ALEXA工具安装了好几次,打开IE的时候,总是只显示一个白框,没有正常的显示,一查才知道,是Windows XP SP2惹得祸,网上有人 ...

  2. 教你一招:全面认识浏览器工具条

      一. 什么是工具条 工具条(英文名称为Toolbar),又名工具栏.工具条是什么?在Google的定义搜索结果中,有17种定义.根据微软的官方定义,工具条是由一组工具条按钮或其他功能控件组成的一个 ...

  3. DPlayer微信浏览器不自动隐藏工具条

    DPlayer微信浏览器不自动隐藏工具条 微信浏览器中,视频不会自动播放,需要手动点击才可以继续播放.但是底部工具栏并不会自动隐藏,必须得手动点一下空白处才可以隐藏. //dp是播放器对象 dp.on ...

  4. 浏览器上方的工具栏不见了_「ie工具条」IE浏览器没有工具菜单栏怎么办 IE浏览器菜单栏消失不见了解决方法 - seo实验室...

    ie工具条 IE浏览器工具菜单栏消失不见了解决方法 键盘快速查看 如果遇到IE不显示工具栏和菜单栏.如下图所示 最简单的办法通过按下键盘ALT建,可以快捷打开IE菜单栏显示.(如果鼠标移动走之后,菜单 ...

  5. 实战ALV OO技术实现添加工具条按钮

    REPORT  Z_ALV_ERIC. *定义使用图标,按钮使用 INCLUDE <ICON>. *定义事件类型 CLASS LCL_EVENT_RECEIVER DEFINITION D ...

  6. 现代前端技术解析读书笔记

    思维导图链接:http://v3.processon.com/view/link/5f7ec592762131119546c899 取材自<现代前端技术解析> 本文只是个人读书笔记,更多详 ...

  7. 为Autodesk Viewer添加自定义工具条

    如果你参加过我们近期的活动,你就会频繁的听到我们现在正在做的Autodesk Viewer大模型浏览器,这是一个不需要下载任何插件,基于WebGL技术的浏览器,可以支持几十种数据格式.同时viewer ...

  8. 北京飞漫软件魏永明:浏览器技术与三网融合

    北京飞漫软件魏永明:浏览器技术与三网融合 2011-03-24 22:19:12 来源: 网易科技报道 跟贴 0 条 手机看新闻 网易科技讯 3月24日消息,CCBN2011数字技术未来系列论坛--三 ...

  9. 原生革命--跨平台开发技术解析

    这篇文章,我将着重分析当前主流跨平台开发解决方案(偏架构)如Flutter.RN.Weex.Hybrid App,并对新晋跨端解决方案Fusion和Chameleon做一些分析,在传统原生开发不断被唱 ...

  10. 《现代前端技术解析》第4-5章 阅读笔记

    第四章 现代前端交互框架 (需要进行理解,再完善笔记) ​ 数据的处理和操作的核心就是DOM的处理和操作,即便是今天,所有前端JavaScript框架最终要解决的仍然是如何实现高效,高性能DOM交互操 ...

最新文章

  1. 机器人c语言教程pdf,机器人卡雷尔学习C语言.pdf
  2. java txt中文乱码,JAVA读取TXT文件 可解决中文乱码问题
  3. 求数组最小数平均值和和值
  4. 报表怎样实现滚动的公告效果?
  5. java文件流null_JAVA 获取资源文件对象为NULL
  6. “华为云-东吴杯”圆满成功,顶尖参赛者推动“智造”场景结构升级
  7. 计算机专业论文要交源代码吗,计算机毕业论文源代码.doc
  8. ##MySql数据库的增删改查方法
  9. attiny13a程序实例_关于ATtiny13A的一段程序
  10. 若依如何去掉“正在加载系统资源,请耐心等待”
  11. Oracle Goldengate在HP平台裸设备文件系统OGG-01028处理
  12. 一本用户体验时代的产品生存指南
  13. UnblockNeteaseMusic解锁网易云灰色歌曲(更新:用咪咕音乐可以免费听)
  14. 高质量代码的几大标准
  15. 小程序自定义搜索框_将自定义搜索提供程序添加到Windows 7以及高级搜索技巧
  16. 使用MSF进行提权(windows提权、linux提权、wesng使用)
  17. 电话号码的数字组合(Java)
  18. 微信小程序-【仿咸鱼】的底部导航
  19. dz论坛viewthread.php,解决修改模板后discuz论坛系统首页空白的问题
  20. vue项目使用Print.js插件实现PDF文件打印

热门文章

  1. 基于ADS仿真的465khz检波电路
  2. 栅栏密码怎么写java程序_[CTF]栅栏密码学习
  3. iOS应用支持IPV6,就那点事儿
  4. vsftpd安装与配置
  5. OpenStack温哥华峰会Day2日记:大数据带你看峰会热点
  6. 计算机桌面工具栏,好用的4D桌面工具栏必备,整洁的桌面小众软件
  7. MATLAB基础绘图操作
  8. d3力导向图增加节点_在D3力导向图中突出显示所选节点,其链接及其子节点
  9. web工时记录管理工具开发(一)
  10. Java HttpUtils 请求工具类