日历归档 |
|
<< < 2024 - 11 > >> | Su | Mo | Tu | We | Th | Fr | Sa | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 |
|
|
|
About Me |
|
|
ZhangSichu |
|
Male |
|
32 |
|
ZhangSichu@gmail.com |
|
ZhangSichu@hotmail.com |
|
ZhangSichu.com |
|
weibo.com/zhangsichu |
|
|
|
个人推荐 |
|
|
|
|
分类归档 |
|
|
|
|
My Friends |
|
|
|
|
用VS2005开发BHO揭开IE插件的神秘面纱
|
IE插件早已不是个新东西了,在IE4时代就有了,但是随着恶意插件的层出不穷,又一次被人重视起来。当前很多网站在无意识或有意识的情况下被挂马,让用户下载.cab自动安装,让用户中恶意IE插件。或者当用户安装一个从第三方网站来的软件,安装过程看着一切正常,可是就在这不知不觉中用户就中了恶意IE插件。恶意IE插件真是无恶不作,随意弹出广告窗口,弹也不弹些好广告,篡改HTML内容,嵌入IFrame,篡改搜索引擎搜索结果,篡改href链接地址。由于恶意插件泛滥,才有了像360safe这样的好东东。
IE插件主要有三种: 1. ActiveX Control. 2. Browser Helper Object (BHO). 3. Browser Extensions.
ActiveX Control 例如:Flash,银行专用输入框等等。 Browser Extensions http://msdn2.microsoft.com/en-us/library/aa753587(VS.85).aspx 例如:Zend Studio,浩方对战平台等等。Browser Extensions主要扩展IE ToolBar ContextMenu 等等。 Browser Helper Object (BHO) 这个东东就是IE恶意插件的根源(好像Com的IUnknown),大多数IE恶意插件都是一个BHO。
Dino Esposito对BHO的详细示例介绍《如何使用BHO定制你的Internet Explorer浏览器》 英文原文: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwebgen/html/bho.asp 中文翻译: http://www.vckbase.com/document/viewdoc/?id=1426 文章中对应的示例程序下载地址: http://support.microsoft.com/kb/179230
就是因为这个示例程序:IEHelper 催生出了很多IE插件,如果用百度搜索IEHelper.exe最先搜索到的就是一个恶意IE插件。
大多数对IE插件介绍的文章都是基于VC6的,一般示例程序转换到VS2005下都会出现编译错,并且文章中也没有详细讲述如何安装和调试BHO。 下文内容是通过对Dino Esposito的《如何使用BHO定制你的Internet Explorer浏览器》的学习,抽取出了其中BHO的核心内容,写的一个IE BHO插件,这个插件的主要作用是屏蔽网页中所有图片,当网页展现时,让所有的图片都不显示。具体BHO的原理和工作机制在Dino Esposito的《如何使用BHO定制你的Internet Explorer浏览器》中,这里不敢班门弄斧了。 :) 下载这个BHO,用VS2005打开,F5直接运行,如果断点可以正常断住,说明这个BHO在你的VS2005下一切正常。
您完全可以通过这个BHO,在VS2005这种友好的IDE环境下学习BHO或者进一步进行BHO的开发。 如果断点不能断住说明BHO安装有问题。 安装BHO:BHO是个Com,BHO的安装过程其实就是一个Com的注册过程,就是把Com的uuid正确的注册到注册表中。打开WipeImg.rgs会看到:
其中NoRemove Browser Helper Objects 中的Browser Helper Objects要和注册表中的BHO名对上,这个键在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\下。 在F5运行后VS2005会自动在注册表中注册这个键值。
在IE的Manage Add-Ons中也可以看到这个BHO
如果您注册表中BHO的名字不是Browser Helper Objects,需要在WipeImg.rgs中修改为一致。
调试BHO:BHO是个Dll,它的入口是DllMain,Dll需要一个可运行的容器来运行它,BHO的容器就是IEXPLORE.EXE。在首次运行时VS2005会弹出选择运行容器的对话框这里需要选择IEXPLORE.EXE,如果您默认的浏览器是IE也可以选择默认浏览器。如果默认浏览器不是IE这里需要特别注意。
完成上面的配置,这个BHO就可以在您的VS2005中自由的Debug了。:)
File: 插件源程序
|
|
#re:用VS2005开发BHO揭开IE插件的神秘面纱 4/14/2009 1:26:22 PM ZhangSichu
|
ie7/ie8 可能需要打开 add-in 的安全配置看看,或者用360看看插件是否正常安装到浏览器上了。
|
|
#re:用VS2005开发BHO揭开IE插件的神秘面纱 4/14/2009 12:19:39 AM zhiming
|
你这个是在ie7/ie8?上面的,不会把,我就按照你说的跑不起来啊,盼复
|
|
#re:用VS2005开发BHO揭开IE插件的神秘面纱 11/7/2008 12:01:02 PM vv
|
|
|
|
|
|