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. vs2017开发php,C#编写的可供PHP调用的com dll(Visual studio 2017)
  2. 153. Find Minimum in Rotated Sorted Array
  3. VS2017源代码版本管理
  4. 计算机指定共享用户,局域网内共享文件夹给指定计算机
  5. ThreadPoolExecutor的七个参数详解
  6. 使用github pages创建博客
  7. 卖票案例 多线程 java 1615387415
  8. 类与对象的定义与使用小结 1114
  9. iOS开发之开源项目链接
  10. 可以在python3下面用的pyh
  11. Atitit 编程语言语言规范总结 语法部分 目录 1. 语言规范 3 2. Types 3 2.1.1. Primitive types 3 2.1.2. Compound types 4 3.
  12. MYSQL详解及语法大全
  13. Python爬虫有用的库:chardet,自动检测字符编码
  14. windows7家庭版,专业版,旗舰版,企业版版本区别
  15. 【面试题】总结最高频软件测试|思维发散|计算机基础|Linux|测试用例|接口测试|等技术面试题
  16. 如何才能修炼成一名不可替代的程序员?
  17. html如何生成条形码,前端如何生成条形码---JsBarcode
  18. 暑假带娃出游该怎么玩?明星妈妈安娜分享夏日出游新启发
  19. S3C2440下clock的源码分析
  20. 基金直销账户体系介绍

热门文章

  1. 如何将原生PDF转为纯图像Word?
  2. php读取excel文件_在PHP中读取Excel文件
  3. 集成海康威视Sadp SDK实现局域网设备搜索
  4. java毕业设计新能源汽车故障分析2021Mybatis+系统+数据库+调试部署
  5. 本人CSDN资源重传、0积分获取的方法以及重要声明(长期有效)
  6. 北航操作系统课程-20200409课堂小测-进程同步
  7. 论文中的Matlab画图常用技巧
  8. docker CI部署样例
  9. 冲刺高阶ADAS市场,毫米波雷达多元侦测整合成主流趋势
  10. 个人收款解决方案之三方聚合收款方案