一种基于沙箱的软件注册表重定向方法及系统技术方案

技术编号:13086110 阅读:107 留言:0更新日期:2016-03-30 17:02
本发明专利技术是一种基于沙箱的软件注册表重定向方法系统,涉及软件处理领域。该方法:S1、当软件A运行时,沙箱系统捕获到所述软件A的进程父ID,判断所述软件A的进程父ID与沙箱系统中存储的需要重定向的软件的进程ID是否相同;如果相同,则确定所述软件A是需要重定向的软件,进入S2;如果不相同,则确定所述软件A不是需要重定向的软件,操作系统执行所述软件A;S2、将所述软件A的注册表操作替换为所述软件A的注册表映射文件的操作;S3、直接访问所述软件A的注册表的映射文件,在沙箱环境中运行所述软件A。本发明专利技术解决了现有的注册表保护技术软件处理缓慢和处理后运行启动慢的问题。

【技术实现步骤摘要】

本专利技术涉及软件处理领域,尤其涉及一种基于沙箱的软件注册表重定向方法及系统
技术介绍
在操作系统中安装应用程序时,需要向注册表中写入大量数据,形成新增的注册表项,而在此应用程序卸载时,这些新增的注册表项并不能够清理干净,即使使用现有的注册表清理工具也无法保证这些新增的注册表纯净性。而且由于不同版本的软件在安装的时候都会在注册表中的相同位置写入一些配置信息,这样就导致不同版本的软件在同一操作系统中不能同时并存,也就是说没法保证注册表很好的隔离开来。因此需要用一种新的平台去保证注册表的纯净性和隔离性,从而实现不同版本软件可以同时并存,安装不同版本的软件时,也不会对现有注册表产生垃圾。
技术实现思路
本专利技术的目的在于提供一种基于沙箱的软件注册表重定向方法及系统,从而解决现有技术中存在的前述问题。为了实现上述目的,本专利技术的一种沙箱软件注册表重定向方法,采用的技术方案如下:S1、当软件A运行时,沙箱系统捕获到所述软件A的进程父ID,判断所述软件A的进程父ID与沙箱系统中存储的需要重定向的软件的进程ID是否相同;如果相同,则确定所述软件A是需要重定向的软件,进入S2;如果不相同,则确定所述软件A不是需要重定向的软件,保持所述软件A的注册表操作不变,操作系统直接访问所述软件A的注册表运行所述当前软件;S2、将所述软件A的注册表操作替换为所述软件A的注册表映射文件的操作;<br>S3、直接访问所述软件A的注册表的映射文件,在所述沙箱系统中运行所述软件A。优选地,在步骤S1前存在以下操作:S0-1、需要重定向的软件与沙箱系统通信,并将所述需要重定向的软件的进程ID发送给所述沙箱系统;S0-2、依据操作系统中存储的所述需要重定向的软件的注册表信息,在所述沙箱系统中形成所述需要重定向的软件的注册表的映射文件;优选地,步骤S0-1中,所述需要进行重定向的软件,包括:病毒程序和/或不安全的应用程序运行载体和/或不能在操作系统中同时并存的软件。优选地,步骤S1中,所述软件A为操作系统启动的任意一个软件。优选地,步骤S1中,所述软件A包括:操作系统中已安装的软件或未安装的软件。优选地,步骤S2中,当所述软件A为操作系统中已安装的软件时,操作系统捕获所述软件A的进程父ID。优选地,步骤S2中,当所述软件A为操作系统中未安装的软件时,操作系统捕获所述软件A的进程父ID。优选地,步骤S3中,当确定所述软件A是需要重定向的软件,所述沙箱系统向用户发出提示消息。优选地,步骤S5中,在所述沙箱中运行所述需要进行重定向的软件时,运行过程中产生的垃圾文件被存储在所述注册表的映射文件中。本专利技术的一种基于沙箱的软件注册表重定向系统,该系统包括:沙箱系统模块、判断模块和重定向模块;沙箱系统模块,负责获取需要重定向软件的进程ID、软件A的进程父ID,还负责执行需要重定向软件运行;判断模块,负责判断所述系统获取的需要重定向软件的进程ID和所述软件A的进程父ID是否相同,并将“相同”的结果发送给重定向模块,将“不相同,保持注册表操作不变”的结果发送给系统模块;重定向模块,在接收到判断模块发送的“相同”结果后,将所述需要进行重定向的软件的注册表操作替换为所述注册表的映射文件的操作,并将结果发送给沙箱系统模块。本专利技术的有益效果是:因为在运行软件时,直接运行存储在沙箱系统中所述软件的注册表的映射文件或在所述软件的注册表的映射文件上写入配置信息,并不会在原有注册表上进行操作,所以本专利技术保护原有注册表的纯净性以及不同软件之间注册表的隔离性的方法,更优于现有注册表保护的方法,不会产生不同版本软件冲突、不会生成较大软件包和软件运行迟缓问题的方法。附图说明图1是具体实施例1一种基于沙箱的软件注册表重定向方法的流程图;图2是具体实施例3一种基于沙箱的软件注册表重定向结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术的核心是:在软件运行过程中的注册表操作全部重定向为文件操作,该文件就是对所述软件的原有注册表的一个映射,在运行该软件的操作过程中产生的垃圾都会存储在映射文件中,如果系统判定所述软件是需要被保护的软件,在运行所述软件时,系统直接访问映射文件,完全不需要对原注册表进行任何的操作,这样既保证了原注册表的纯净又可以保证不同版本软件隔离,也不会产生过大的软件包以及运行缓慢的问题。参照图1,具体实施例1,一种基于沙箱的软件注册表重定向方法,该方法包括:S1、需要重定向的软件与沙箱系统通信,并将所述需要重定向的软件的进程ID存储到所述沙箱系统中;S2、依据操作系统中存储的所述需要重定向的软件的注册表信息,在沙箱系统中形成所述需要重定向的软件的注册表的映射文件;S3、当软件A运行时,沙箱系统捕获到软件A的进程ID以及所述软件A的进程父ID,判断所述软件A的进程父ID与步骤S1获取的所述软件的进程ID是否相同;如果相同,则确定所述软件A是需要重定向的软件,进入S4,同时,向用户提示所述软件A为需要重定向的软件;如果不相同,则确定所述软件A不是需要重定向的软件,保持所述软件A的注册表操作不变,直接访问所述注册表运行所述当前软件;S4、将所述需要重定向的软件的注册表操作替换为所述注册表的映射文件的操作;S5、直接访问所述注册表的映射文件,在所述沙箱系统中运行所述需要重定向的软件。所述软件A为office2007软件。所述需要重定向的软件运行过程中产生的垃圾文件或中间缓存文件被存储在所述注册表的映射文件中。本具体实施例中所述当前软件是在当前操作系统中已安装的软件时,则系统驱动捕获到启动所述当前软件的进程ID以及其进程父ID。更具体为:所述当前软件指:在安装了office2007软件的操作系统中已安装的office2007软件,在步骤S2中系统捕获到启动所述已安装的office2007软件的进程ID以及其进程父ID。即本具体实施例1是在安装了office2007软件的操作系统的基础上将启动的office2007软件作为当前软件进行注册表重定向技术。本具体实施例中,所述软件A的进程父ID指所述软件A在其所安装的计算机中形本文档来自技高网...

【技术保护点】
一种基于沙箱的软件注册表重定向方法,其特征在于,该方法包括: S1、当软件A运行时,沙箱系统捕获到所述软件A的进程父ID,判断所述软件A的进程父ID与沙箱系统中存储的需要重定向的软件的进程ID是否相同; 如果相同,则确定所述软件A是需要重定向的软件,进入S2; 如果不相同,则确定所述软件A不是需要重定向的软件,保持所述软件A的注册表操作不变,操作系统直接访问所述软件A的注册表运行所述当前软件; S2、将所述软件A的注册表操作替换为所述软件A的注册表映射文件的操作; S3、直接访问所述软件A的注册表的映射文件,在所述沙箱系统中运行所述软件A。

【技术特征摘要】
1.一种基于沙箱的软件注册表重定向方法,其特征在于,该方法包括:
S1、当软件A运行时,沙箱系统捕获到所述软件A的进程父ID,判断所述软件A的进程父ID与沙箱系统中存储的需要重定向的软件的进程ID是否相同;
如果相同,则确定所述软件A是需要重定向的软件,进入S2;
如果不相同,则确定所述软件A不是需要重定向的软件,保持所述软件A的注册表操作不变,操作系统直接访问所述软件A的注册表运行所述当前软件;
S2、将所述软件A的注册表操作替换为所述软件A的注册表映射文件的操作;
S3、直接访问所述软件A的注册表的映射文件,在所述沙箱系统中运行所述软件A。
2.根据权利要求1所述基于沙箱的软件注册表重定向方法,其特征在于,在步骤S1前存在以下操作:
S0-1、需要重定向的软件与沙箱系统通信,并将所述需要重定向的软件的进程ID发送给所述沙箱系统;
S0-2、依据操作系统中存储的所述需要重定向的软件的注册表信息,在所述沙箱系统中形成所述需要重定向的软件的注册表的映射文件。
3.根据权利要求2所述基于沙箱的软件注册表重定向方法,其特征在于,步骤S0-1中,所述需要进行重定向的软件包括:病毒程序和/或不安全的应用程序运行载体和/或不能与操作系统已安装的软件同时并存的软件。
4.根据权利要求1所述基于沙箱的软件注册表重定向方法,其特征在于,步骤S1中,所述软件A为操作系统启动的任意一个软件。
5.根据权利要求1所述基于沙箱的软件注册表重定向方...

【专利技术属性】
技术研发人员:杨耀敏金满刚徐洋董龙洋
申请(专利权)人:北京云巢动脉科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1