[发明专利]一种解决ACTIVE X组件版本冲突的轻量级虚拟化方法无效

专利信息
申请号: 200910014190.1 申请日: 2009-02-24
公开(公告)号: CN101493766A 公开(公告)日: 2009-07-29
发明(设计)人: 赵启杰 申请(专利权)人: 浪潮集团山东通用软件有限公司
主分类号: G06F9/44 分类号: G06F9/44;G06F9/445
代理公司: 济南信达专利事务所有限公司 代理人: 姜 明
地址: 250014山东*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提供一种解决ACTIVE X组件版本冲突的轻量级虚拟化方法,是首先要对ActiveX组件进行版本隔离,将ActiveX组件在注册表里的注册信息进行替代存储,让不同的应用程序独享一份ActiveX注册信息;其次构建虚拟的注册表运行环境,不修改原有程序让独享的注册信息与真实的注册信息进行“合并”,实现对原有程序的透明,本发明的方法既解决了版本冲突,又实现了无需注册ActiveX组件即可使用的功能。该技术的显著特点是虚拟技术的轻量性、选择性,不仅有效提高软件系统的稳定性,又能节省软、硬件资源。
搜索关键词: 一种 解决 active 组件 版本 冲突 轻量级 虚拟 方法
【主权项】:
1.一种解决ACTIVEX组件版本冲突的轻量级虚拟化方法,其特征在于,首先要对ActiveX组件进行版本隔离,将ActiveX组件在注册表里的注册信息进行替代存储,让不同的应用程序独享一份ActiveX注册信息;其次构建虚拟的注册表运行环境,不修改原有程序让独享的注册信息与真实的注册信息进行“合并”,实现对原有程序的透明,具体步骤如下:1)采用API Hook技术,对COM组件实例化时调用的函数进行“短路”,即通过API Hook,改变一个系统API的原有功能,通过hook“接触”到需要修改的API函数入口点,改变它的地址指向新的自定义的函数,通过自定义函数进行控制;2)确定Hook的目标:确定ole32.dll中的CoGetClassObject、CoCreateInstance、CoGetClassObjectFromURL这三个函数是需要Hook的关键函数,首先定义它的一个“替代品”然后在“替代品”内部根据传入的参数clsid到虚拟注册表里查询是否有对应的键值,有则继续查询此clsid对应的二进制文件,并加载此文件,接下来获取D11GetClassObject函数的地址,获取到该函数的地址后,则调用该函数;上述步骤任意一步不满足,则运行原来的CoGetClassObject,这个流程结束完毕,即实现“私有”ActiveX组件的注册与加载运行;3)截获进程内对注册表的访问,对系统访问注册表的函数进行改进;4)控制进程对注册表的访问,首先到虚拟注册表里查找相关项目,虚拟注册表内有相关条目则返回其内容,没有相关项目,则到真实注册表内查找,实现“虚”、“实”的融合,并对原有程序透明,采取与上述CoGetClassObject函数的处理相似的流程,对打开注册表、枚举注册表项、读取注册值的函数进行Hook,这样就在更基础的层次上进行了虚拟,满足.NET组件实例化的“私有加载”。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮集团山东通用软件有限公司,未经浪潮集团山东通用软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/200910014190.1/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top