为什么dll中不能捕获wsaasyncselect消息?

我在sdk  dll中创建了一个对话框,使用WSAAsyncSelect(m_hSocket,gWorkerWindow,WM_SOCKET,FD_CLOSE),没有任何错误返回,但是关闭一端后,在我的消息处理里拦不到FD_CLOSE消息,任何消息也没有,同样代码,在单独的对话框程序中就没任何问题,求助!!
10-02-05  匿名提问 发布
1个回答
时间
投票
  • 0

    818259

    在某些CHM文件中可能会使用到InfoTech协议,而它包含3种协议:ms-its 、its、mk:@msitstore 。利用这些协议,恶意攻击者或者恶意代码将可能导致帮助产生溢出漏洞,从而控制计算机。而MS最新公布的安全更新MS05-026 KB896358修正了这一情况,并屏蔽了远程链接,这就导致了使用了远程链接的一些CHM页面开启失败。趋势安全站点对此漏洞作出了如下描述:

    这个安全问题来自于早先公布的微软HTML Help漏洞。HTML Help是Windows平台上的标准帮助系统。作者可以使用它为程序或者多媒体主题或者Web站点创建在线的帮助文件。
    由于HTML Help并不会完全校验输入数据的特性,导致这一点可能被利用。一个特殊的CHM文件可以导致帮助系统溢出,这个溢出如果被利用,就可以用于执行恶意代码。
    这样的恶意CHM文件可以使用“ms-its”协议,通过IE开启。开启后的CHM文件不再需要用户的参与,就能够自动执行恶意CHM文件和附随的代码。“ms-its”协议是InfoTech 协议的一部分,该协议能够 为ITSS.DLL或者微软InfoTech Storage System Library所执行。当然,这些恶意的程序无法靠自身传播,仍然需要用户在特定的位置,通过IE和“ms-its”协议访问恶意的CHM文件。
    这种情况一旦发生,如果受影响的用户当前登录身份是管理员,远程代码执行的漏洞可以允许恶意用户或者恶意软件,获得受影响系统的完全控制权限。
    从而这个恶意用户或者恶意程序得以在此系统上执行代码,并使用完全控制权限安装或者运行程序,并能够察看或者编辑数据。因此,这个漏洞同样也能够被用于复制。

    如果你确信你已安装了相关补丁,且相应的CHM文件没有问题,则可以试试下列方法:
    1. 把文件名称改为E文的简单一点(a.chm),copy 到一个根目录下面,打开看看,如果不行,向下看。
    2. 重新下载,有的时候下载过程出了问题,看看是否OK
    3. 看看你的OS的语言设置 和chm文档的语言是不是一致的 ? 如果不一致就会打不开得到上面这样的错误。比如如果下载的chm文档是中文的,那么到 Control Pane 中看看那个"语言和区域"的option,打开看看"区域选项" 是不是中国,这个选项对一些软件还是有一些影响的。
    4. 运行下列命令注册HTML Help系统
    regsvr32 %windir%\system32\Hhsetup.dll
    regsvr32 %windir%\system32\Hhctrl.ocx
    regsvr32 %windir%\system32\Itircl.dll
    regsvr32 %windir%\system32\itss.dll
    每次注册都应出现一个表示注册过程已成功完成的确认对话框。则表明HTML Help系统有效。否则应替换相应的文件。

    最后,Windows为安全起见,将从网络下载的CHM文件的安全性作了缺省处理(锁注了该文件)。解决方法:鼠标右键点击该文件,选择属性,解锁即可。

    10-02-06 | 添加评论 | 打赏

    评论读取中....

精华知识
更多  
意见反馈 帮助