[发明专利]Windows应用程序虚拟化的实现方法有效

专利信息
申请号: 201110402069.3 申请日: 2011-12-06
公开(公告)号: CN102520944A 公开(公告)日: 2012-06-27
发明(设计)人: 沃天宇;孙海雷;康俊彬;胡春明;怀进鹏 申请(专利权)人: 北京航空航天大学
主分类号: G06F9/44 分类号: G06F9/44;G06F9/445
代理公司: 北京同立钧成知识产权代理有限公司 11205 代理人: 刘芳
地址: 100191*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: windows 应用程序 虚拟 实现 方法
【权利要求书】:

1.一种Windows应用程序虚拟化的实现方法,其特征在于,包括:

根据配置文件,截获应用程序在运行过程中调用的与系统注册表有关的第一系统调用,使用在所述应用程序执行时注入的动态链接库中的系统调用,重写所截获的第一系统调用,并使用重写后的系统调用将私有注册表和系统注册表进行融合,形成虚拟注册表,以使所述应用程序根据所述虚拟注册表对所述私有注册表和所述系统注册表进行访问;

根据所述配置文件,截获所述应用程序在运行过程中调用的与文件操作有关的第二系统调用,根据所截获的第二系统调用中的路径参数,获取文件所属的空间,并根据所述配置文件中存储的系统空间、软件空间和用户空间相互之间的路径映射关系,返回与操作所述文件的操作类型相适应的路径信息,然后,根据所述路径信息对所述文件进行操作。

2.根据权利要求1所述的Windows应用程序虚拟化的实现方法,其特征在于,所述根据配置文件,截获应用程序在运行过程中调用的与系统注册表有关的第一系统调用,使用在所述应用程序执行时注入的动态链接库中的系统调用,重写所截获的第一系统调用,并使用重写后的系统调用将私有注册表和系统注册表进行融合,形成虚拟注册表,以使所述应用程序根据所述虚拟注册表对所述私有注册表和所述系统注册表进行访问包括:

截获所述应用程序打开创建注册表键值的第一系统调用,根据所述应用程序打开创建注册表键值的第一系统调用中的注册表键的路径值,返回虚拟键句柄;如果所述路径值存在于所述系统注册表中,则打开系统注册表键,并将返回的句柄存储在所述虚拟键句柄中;如果所述路径值存在于所述私有注册表中,则打开私有注册表键,并将返回的句柄存储在虚拟键句柄中;如果是创建新注册表键,则在所述私有注册表中创建新键,并将返回的句柄存储在虚拟键句柄中;

截获所述应用程序查询注册表键值的第一系统调用,并根据所述应用程序查询注册表键值的第一系统调用中虚拟键句柄参数,进行所述虚拟注册表的查询操作;所述虚拟注册表的查询操作包括:根据第一路径值在所述私有注册表中查询第一键值,如果所述第一键值存在所述私有注册表中,根据所述第一键值执行相应操作;如果所述第一键值不存在所述私有注册表中,判 断所述第一路径值是否存在于删除列表中;如果所述第一路径值存在所述删除列表中,返回键值不存在信息;如果所述第一路径值不存在所述删除列表中,根据所述第一路径值从所述系统注册表中查询所述第一键值;

截获所述应用程序修改注册表键值的第一系统调用,并根据所述应用程序修改注册表键值的第一系统调用中虚拟键句柄参数,进行虚拟注册表的修改操作;所述虚拟注册表的修改操作包括:根据第二路径值在所述私有注册表中查询第二键值,如果所述第二键值存在所述私有注册表中,根据所述第二键值在所述私有注册表中执行相应修改操作;如果所述第二键值不存在所述私有注册表中,判断第二路径值是否存在于所述系统注册表中;如果所述第二路径值存在所述系统注册表中,根据所述第二路径值在所述私有注册表中创建所述第二键值并执行相应修改操作;如果所述第二路径值不存在所述系统注册表,返回键值不存在信息;

截获所述应用程序删除注册表键值的第一系统调用,并根据所述应用程序删除注册表键值的第一系统调用中虚拟键句柄参数,进行虚拟注册表的删除操作;所述虚拟注册表的删除操作包括:根据第三路径值在所述私有注册表中查询第三键值,如果所述第三键值存在所述私有注册表中,根据所述第三键值在所述私有注册表中执行相应删除操作,并判断所述第三路径值是否存在所述系统注册表中;如果所述第三键值不存在所述私有注册表中,直接判断所述第三路径值是否存在所述系统注册表中;如果所述第三路径值存在所述系统注册表中,在所述删除列表中记录所述第三路径值;如果所述第三路径值不存在所述系统注册表中,返回键值不存在信息;

截获所述应用程序修改通知注册表键值的第一系统调用,并根据所述应用程序修改通知虚拟注册表键值的第一系统调用中虚拟键句柄参数,进行虚拟注册表的修改通知操作;所述虚拟注册表的修改通知操作包括:获取所述私有注册表的版本号,如果所获取的私有注册表的版本号与本地存储的版本号相同,根据所述私有注册表的版本号执行相应注册操作;如果所获取的私有注册表的版本号与本地存储的版本号不相同,重构所述私有注册表,并保存重构的私有注册表的版本号,并根据重构的私有注册表的版本号执行相应注册操作;在执行相应注册操作之后,再次获取所述私有注册表的版本号,如果所述私有注册表的版本号发生了改变,根据第四路径值和执行相应注册 操作所注册的事件对象发出修改事件通知;如果所述私有注册表的版本号没有发生改变,则返回。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201110402069.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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