Windows XP/2003等安装KB960715后,我们原本的VBA无法正常运行,提示没有WinSock。
依稀中记得前几年是研究过Kill Bit的,感觉上这玩意与SFI、UFI没有实质区别,都是人为的一个标志。这M$围绕着ActiveX的安全搞了不少东西出来,结果是都不顶屁用。
今天于是再研究了一下Kill Bit这东西,重点看了这篇文章:How to stop an ActiveX control from running in Internet Explorer(惭愧,以前是看过的,当时还想着可以怎么利用一下,嘿嘿),上面写得很清楚,将clsID写入相应的注册项并设置值就OK可能 stop from running in IE,那么,去掉相应的注册项,显然就应该running in IE。测试了一下,果然。
其实,M$的Kill Bit就是一个黑牢,看谁不爽了就扔进去。960715也就是往这个黑牢里扔了一些M$认为不安全的东西。
需要注意的是,如果在WEB项目中使用了ActiveX,那么每次M$的KillBit更新时就必须要小心检查一下有没有把所需要的ActiveX扔进黑牢里。如果不幸中标的话,可以采用本文的方法快速解决,但更好的方法是用新版本的控件更新。
另参考:http://www.microsoft.com/china/technet/security/advisory/960715.mspx
