用VS2005开发BHO揭开IE插件的神秘面纱
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: 插件源程序
转载于:https://www.cnblogs.com/ricksun/articles/1495953.html
用VS2005开发BHO揭开IE插件的神秘面纱相关推荐
- 揭开人类语言的神秘面纱:从理解到处理自然语言
https://www.toutiao.com/a6709740042509615619/ 随着人工智能的进步和技术变得越来越复杂,我们希望现有的概念能够接受这种变化或者改变自己.同样,在自然语言的计 ...
- 揭开webRTC媒体服务器的神秘面纱——WebRTC媒体服务器开源项目介绍
揭开webRTC媒体服务器的神秘面纱--WebRTC媒体服务器&开源项目介绍 WebRTC生态系统是非常庞大的.当我第一次尝试理解WebRTC时,网络资源之多让人难以置信.本文针对webRTC ...
- 揭开Java 泛型类型擦除神秘面纱
转载自 揭开Java 泛型类型擦除神秘面纱 泛型,一个孤独的守门者. 大家可能会有疑问,我为什么叫做泛型是一个守门者.这其实是我个人的看法而已,我的意思是说泛型没有其看起来那么深不可测,它并不神秘 ...
- @程序员,为你揭开直播技术的神秘面纱!
作者 | 阿文,责编 | 郭芮 头图 | CSDN 下载自视觉中国 出品 | CSDN(ID:CSDNnews) 随着Web 2.0 的普及以及移动互联网技术的发展,各种视频分享.流媒体直播类型的服务 ...
- 揭开均线系统的神秘面纱_揭开依赖注入的神秘面纱,并通过此快速介绍了解它的实际应用...
揭开均线系统的神秘面纱 by Sankalp Bhatia 通过Sankalp Bhatia 揭开依赖注入的神秘面纱,并通过此快速介绍了解它的实际应用 (Demystify Dependency In ...
- 揭开均线系统的神秘面纱_在应用程式审查API中揭开新玩法的神秘面纱
揭开均线系统的神秘面纱 During the #11WeeksOfAndroid the new Play In-App Review API was announced. This was a lo ...
- html5实现单点登录,图文并茂,为你揭开“单点登录“的神秘面纱
概念 单点登录( Single Sign On ,简称 SSO),是目前比较流行的企业业务整合的解决方案之一,用于多个应用系统间,用户只需要登录一次就可以访问所有相互信任的应用系统. 前置介绍 同源策 ...
- 揭开 Growth Hacking 的神秘面纱(番外篇)+ 大结局
揭开 Growth Hacking 的神秘面纱(番外篇)+ 大结局 覃超帝国兴亡史 12月11日 11:45 FACEBOOK 互联网 分类 :互联网 阅读:1527 抢沙发 Growth Ha ...
- .net单点登录demo_图文并茂,为你揭开“单点登录“的神秘面纱
本文首发于政采云前端团队博客:图文并茂,为你揭开"单点登录"的神秘面纱 https://www.zoo.team/article/sso 概念 单点登录( Single Sign ...
最新文章
- 如何判断是否丢掉用户请求(转载)
- 处理图片(updated)
- 《dinv into python》开始了解python
- SAP Spartacus在某些屏幕尺寸下无法正常工作的原因分析
- 这个可能打败Python的编程语言,正在征服科学界
- unity捕捉全景图_DronePan:可捕捉飞机全景的应用程序
- MySQL----获取当前日期当月第一天,最后一天
- 自动化测试——接口测试——pandas——CSV文件参数化——数据驱动
- c语言程序设计必备单词32个,c语言编程必背单词-20210324071350.docx-原创力文档
- 读后感系列2:《看见》柴静(一)
- 打破定制化语音技术落地怪圈?从讲一口标准英音的语音助手说起
- 如何解决 zsh: event not found: e]st1问题
- 第三章 Guarded Suspension模式 等我准备好哦
- Encoder-Decoder 模型架构详解
- 网易云音乐导出歌单-速食版
- SQL server 数据库表的配置及其表的导入导出
- Matlab显示串口收发的中文数据
- java计算机毕业设计高校游泳馆信息管理源码+数据库+系统+lw文档+部署
- 硬件系列(四)-------------Android标签打印机连接与打印位置调动方法总结
- 基于FPGA的VGA视频弹球游戏
热门文章
- 常见应用层协议都是基于什么运输层协议的
- 服务器出现Cause: java.sql.SQLSyntaxErrorException: Table ‘ssmbulid.books‘ doesn‘t exist解决方法
- 智慧数字经营小程序存在的意义和价值分析
- vue使用watch监听拿到props的传值
- gzip和gunzip命令
- HTML5新标签-结构标签、表单元素、媒体标签
- phpstorm连接远程服务器配置
- Rextrofit中网络请求空字段传递或过滤
- 推荐5款实用高质量的APP
- layui弹出层,点击关闭按钮确无法关闭