科技时代新浪首页 > 科技时代 > 学园 > 正文

嵌入浏览器 关于Alexa工具条的解说与方法


http://www.sina.com.cn 2006年02月17日 08:29 天极yesky

    作者:龙犊整理

  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 造成的任何结果与我无关啊

 [1] [2] [3] [4] [下一页]

发表评论

爱问(iAsk.com)



评论】【论坛】【收藏此页】【 】【多种方式看新闻】【下载点点通】【打印】【关闭




科技时代意见反馈留言板 电话:010-82628888-5595   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2006 SINA Corporation, All Rights Reserved

新浪公司 版权所有