将dsoframer修改为能通过IE的可安全执行脚本
来源:互联网 发布:数据挖掘异常检测方法 编辑:程序博客网 时间:2024/06/07 01:04
微软的dsoframer.ocx V1.3.1323.0版本,需要在IE上设置“对未标记为可安全执行脚本的ActiveX控件初始化并执行脚本“,
通过其源码下面2个函数的修改,可以解决该问题,
需要注意带来的新问题:微软的ocx带数字签名,自己编写的不带有签名,而申请数字签名动辄上千元
修改位置:
1. 文件:dsofcontrol.cpp
函数:STDMETHODIMP CDsoFramerControl::XObjectSafety::GetInterfaceSafetyOptions
内容:
//*pdwEnabledOptions = INTERFACESAFE_FOR_UNTRUSTED_DATA;//return S_OK;if (riid == IID_IDispatch){*pdwEnabledOptions = INTERFACESAFE_FOR_UNTRUSTED_CALLER;return S_OK;}else if (riid == IID_IPersistPropertyBag ||riid == IID_IPersistStreamInit ||riid == IID_IPersistStorage ||riid == IID_IPersistMemory){*pdwEnabledOptions = INTERFACESAFE_FOR_UNTRUSTED_DATA;return S_OK;}return E_NOINTERFACE;
2. 文件:dsofcontrol.cpp
函数:STDMETHODIMP CDsoFramerControl::XObjectSafety::SetInterfaceSafetyOptions
内容:
//return ((((riid == IID_IPersist) || (riid == IID_IPersistPropertyBag)) &&//(dwEnabledOptions == INTERFACESAFE_FOR_UNTRUSTED_DATA)) ? S_OK : E_FAIL);if (riid == IID_IDispatch){BOOL bFalg = INTERFACESAFE_FOR_UNTRUSTED_CALLER == dwOptionSetMask &&INTERFACESAFE_FOR_UNTRUSTED_CALLER == dwEnabledOptions;return bFalg ? S_OK : E_FAIL;}else if (riid == IID_IPersistPropertyBag|| riid == IID_IPersistStreamInit|| riid == IID_IPersistStorage|| riid == IID_IPersistMemory){BOOL bFalg = INTERFACESAFE_FOR_UNTRUSTED_DATA == dwOptionSetMask &&INTERFACESAFE_FOR_UNTRUSTED_DATA == dwEnabledOptions;return bFalg ? NOERROR : E_FAIL;}return E_NOINTERFACE;
- 将dsoframer修改为能通过IE的可安全执行脚本
- 标记为可安全执行脚本的Activex
- 如何将标记为可安全编写脚本和初始化的 MFC ActiveX 控件
- 如何将标记为可安全编写脚本和初始化的 MFC ActiveX 控件 (转)
- 通过注册表来修改IE安全设置
- 如何将MFC ActiveX 控件标记为可安全编写脚本和初始化
- 修改IE的安全站点
- 怎样将控件声明为脚本安全
- VBS 通过注册表修改ie的安全级别,允许本地文件的脚本运行
- python3.6版本生成的python脚本如何打包为可独立执行的exe程序
- 修改windows2008 ie安全级别 无法执行脚本 无法显示Flash
- 制作uboot 能执行的脚本
- 解决IE无法执行脚本的问题
- IE执行脚本慢的解决方案
- 通过脚本偷窥你的IE剪贴板
- 使用Python脚本将酷狗音乐的缓存文件修改为可播放
- 能过修改注册表来修改IE的设置
- IE脚本不执行
- Android_UI主线程与子线程
- Android 2.1 源码目录结构详解
- 很好的国外购物网站
- Solving the Problem with Events: Weak Event Handlers
- 做完毕业设计基础部分的一些小感想
- 将dsoframer修改为能通过IE的可安全执行脚本
- WinCE下自定义的大软键盘
- WinCE6.0下如何动态设置系统分辨率
- 大小端问题
- 最近的学习计划
- uva 401
- SELinux policy enabled; httpd running as context unconfined_u:system
- 使用sql server2005非常慢的解决方案
- JSF2.0与Spring3集成