阿七 |
2006-04-05 08:22 |
Alexa工具栏使用Toolbar Bands和Browser Help Object技术嵌入IE浏览器。 rYI
9?q w{$t:l)2, Alexa Toolbar可以获得当前浏览器的IWebBrowser2接口,通过这个接口就可以对浏览器为所欲为了。不过Alexa Toolbar的实现十分奇怪:它的界面和主程序是用HTML和javascript实现的,这就是大家经常抱怨使用Alexa Toolbar后导致运行变慢的原因。而且Alexa Toolbar中的javascript有许多冗余代码,且有多处的资源泄漏,当用一个IE窗口长时间浏览网页时会消耗大量的系统资源,建议安装Alexa Toolbar的IE用户在一个窗口长时间运行后,关闭再重新运行。 T7eo_Mn K-VNU 前面说的那些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 就行了。 y>zPsc, yQ)y#5/<6 如果你想了解Alexa Toolbar的运行流程,可以修改“res://AlxRes.dll/CHTML/index.html”的231行,将“var g_bDebug=false;”改成“var g_bDebug=true;”就可以了。现在IE加载完alexa toolbar后,会打开一个新的弹出窗口来输出alexa toolbar的调试信息。 ^hOnLy2 y"=j[. 现在你可以随心所欲地修改alexa toolbar了,加入后门啦,写入作弊代码啦都可以,不过我还是对前者比较感兴趣。 .Y.\D\>~ A!}Wpw%(/ 新版本的 Alexa Toolbar ****方法 c!@g<<}[( Q8.SD p 国庆节后,Alexa Toolbar 更新了版本。 Hf
P2o
5- OZdiM&Zss 以下是关于新版本7.0.1.52.1202的****方法: l%h0x*?$ .{as"h-.O 将 AlexaRes.dll 文件偏移 "0x17F6" 处开始的两个字节"0x1175"改为"0x9090" Y>z~0$ pv%UsbY 你可以通过各种16进制编辑器来修改,显示的应该是 "75 11",改为 "90 90"。 >W[8wR )24r^21.q 修改Alexa Toolbar 造成的任何结果与我无关啊 |
|