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

文档序号:9687843阅读:1104来源:国知局
一种基于沙箱的软件注册表重定向方法及系统的制作方法
【技术领域】
[0001]本发明涉及软件处理领域,尤其涉及一种基于沙箱的软件注册表重定向方法及系统。
【背景技术】
[0002]在操作系统中安装应用程序时,需要向注册表中写入大量数据,形成新增的注册表项,而在此应用程序卸载时,这些新增的注册表项并不能够清理干净,即使使用现有的注册表清理工具也无法保证这些新增的注册表纯净性。而且由于不同版本的软件在安装的时候都会在注册表中的相同位置写入一些配置信息,这样就导致不同版本的软件在同一操作系统中不能同时并存,也就是说没法保证注册表很好的隔离开来。
[0003]因此需要用一种新的平台去保证注册表的纯净性和隔离性,从而实现不同版本软件可以同时并存,安装不同版本的软件时,也不会对现有注册表产生垃圾。

【发明内容】

[0004]本发明的目的在于提供一种基于沙箱的软件注册表重定向方法及系统,从而解决现有技术中存在的前述问题。
[0005]为了实现上述目的,本发明的一种沙箱软件注册表重定向方法,采用的技术方案如下:
[0006]S1、当软件A运行时,沙箱系统捕获到所述软件A的进程父ID,判断所述软件A的进程父ID与沙箱系统中存储的需要重定向的软件的进程ID是否相同;
[0007]如果相同,则确定所述软件A是需要重定向的软件,进入S2 ;
[0008]如果不相同,则确定所述软件A不是需要重定向的软件,保持所述软件A的注册表操作不变,操作系统直接访问所述软件A的注册表运行所述当前软件;
[0009]S2、将所述软件A的注册表操作替换为所述软件A的注册表映射文件的操作;
[0010]S3、直接访问所述软件A的注册表的映射文件,在所述沙箱系统中运行所述软件A0
[0011]优选地,在步骤S1前存在以下操作:
[0012]S0-1、需要重定向的软件与沙箱系统通信,并将所述需要重定向的软件的进程ID发送给所述沙箱系统;
[0013]S0-2、依据操作系统中存储的所述需要重定向的软件的注册表信息,在所述沙箱系统中形成所述需要重定向的软件的注册表的映射文件;
[0014]优选地,步骤S0-1中,所述需要进行重定向的软件,包括:病毒程序和/或不安全的应用程序运行载体和/或不能在操作系统中同时并存的软件。
[0015]优选地,步骤S1中,所述软件A为操作系统启动的任意一个软件。
[0016]优选地,步骤S1中,所述软件A包括:操作系统中已安装的软件或未安装的软件。
[0017]优选地,步骤S2中,当所述软件A为操作系统中已安装的软件时,操作系统捕获所述软件A的进程父ID。
[0018]优选地,步骤S2中,当所述软件A为操作系统中未安装的软件时,操作系统捕获所述软件A的进程父ID。
[0019]优选地,步骤S3中,当确定所述软件A是需要重定向的软件,所述沙箱系统向用户发出提示消息。
[0020]优选地,步骤S5中,在所述沙箱中运行所述需要进行重定向的软件时,运行过程中产生的垃圾文件被存储在所述注册表的映射文件中。
[0021]本发明的一种基于沙箱的软件注册表重定向系统,该系统包括:沙箱系统模块、判断模块和重定向模块;
[0022]沙箱系统模块,负责获取需要重定向软件的进程ID、软件A的进程父ID,还负责执行需要重定向软件运行;
[0023]判断模块,负责判断所述系统获取的需要重定向软件的进程ID和所述软件A的进程父ID是否相同,并将“相同”的结果发送给重定向模块,将“不相同,保持注册表操作不变”的结果发送给系统模块;
[0024]重定向模块,在接收到判断模块发送的“相同”结果后,将所述需要进行重定向的软件的注册表操作替换为所述注册表的映射文件的操作,并将结果发送给沙箱系统模块。
[0025]本发明的有益效果是:
[0026]因为在运行软件时,直接运行存储在沙箱系统中所述软件的注册表的映射文件或在所述软件的注册表的映射文件上写入配置信息,并不会在原有注册表上进行操作,所以本发明保护原有注册表的纯净性以及不同软件之间注册表的隔离性的方法,更优于现有注册表保护的方法,不会产生不同版本软件冲突、不会生成较大软件包和软件运行迟缓问题的方法。
【附图说明】
[0027]图1是具体实施例1 一种基于沙箱的软件注册表重定向方法的流程图;
[0028]图2是具体实施例3 —种基于沙箱的软件注册表重定向结构示意图。
【具体实施方式】
[0029]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的【具体实施方式】仅仅用以解释本发明,并不用于限定本发明。
[0030]本发明的核心是:在软件运行过程中的注册表操作全部重定向为文件操作,该文件就是对所述软件的原有注册表的一个映射,在运行该软件的操作过程中产生的垃圾都会存储在映射文件中,如果系统判定所述软件是需要被保护的软件,在运行所述软件时,系统直接访问映射文件,完全不需要对原注册表进行任何的操作,这样既保证了原注册表的纯净又可以保证不同版本软件隔离,也不会产生过大的软件包以及运行缓慢的问题。
[0031]参照图1,具体实施例1,一种基于沙箱的软件注册表重定向方法,该方法包括:
[0032]S1、需要重定向的软件与沙箱系统通信,并将所述需要重定向的软件的进程ID存储到所述沙箱系统中;
[0033]S2、依据操作系统中存储的所述需要重定向的软件的注册表信息,在沙箱系统中形成所述需要重定向的软件的注册表的映射文件;
[0034]S3、当软件A运行时,沙箱系统捕获到软件A的进程ID以及所述软件A的进程父ID,判断所述软件A的进程父ID与步骤S1获取的所述软件的进程ID是否相同;
[0035]如果相同,则确定所述软件A是需要重定向的软件,进入S4,同时,向用户提示所述软件A为需要重定向的软件;
[0036]如果不相同,则确定所述软件A不是需要重定向的软件,保持所述软件A的注册表操作不变,直接访问所述注册表运行所述当前软件;
[0037]S4、将所述需要重定向的软件的注册表操作替换为所述注册表的映射文件的操作;
[0038]S5、直接访问所述注册表的映射文件,在所述沙箱系统中运行所述需要重定向的软件。
[0039]所述软件A为office2007软件。
[0040]所述需要重定向的软件运行过程中产生的垃圾文件或中间缓存文件被存储在所述注册表的映射文件中。
[0041]本具体实施例中所述当前软件是在当前操作系统中已安装的软件时,则系统驱动捕获到启动所述当前软件的进程ID以及其进程父ID。更具体为:所述当前软件指:在安装了 Office2007软件的操作系统中已安装的office2007软件,在步骤S2中系统捕获到启动所述已安装的offiCe2007软件的进程ID以及其进程父ID。
[0042]即本具体实施例1是在安装了 office2007软件的操作系统的基础上将启动的offiCe2007软件作为当前软件进行注册表重定向技术。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1