源注册表键和目标注册表键的对应关系,进行注册表键重定向,将第一注册表键重定向到目标注册表键,使系统访问目标注册表键,使用该目标注册表键对应的待锁定浏览器打开网页链接。
[0052]参见图1所示,为本发明实施例中一种浏览器锁定方法的实施流程图,该方法可以包括以下步骤:
[0053]S110:在监测到系统访问注册表中记录的针对浏览器的注册表键时,获得所述系统访问的第一注册表键。
[0054]可以理解的是,当终端中安装多个浏览器软件时,每个浏览器软件都将在终端的注册表中进行注册,将自身的注册表键的键值写入该注册表中,其中该注册表键的键值为该浏览器软件的主程序路径。当某个浏览器软件被设置为默认浏览器时,该浏览器将注册表中记录的针对浏览器的注册表键的键值修改为自身的主程序路径。
[0055]在实际应用中,当用户进行网页链接的打开时,点击该网页链接,即可视为向系统发出了针对该网页链接的打开请求,系统接收到该打开请求后,需要访问注册表中记录的针对浏览器的注册表键,以使用相应的浏览器软件打开该网页链接。
[0056]本发明实施例中的客户端可以监测系统访问注册表键的行为,当监测到系统访问注册表中记录的针对浏览器的注册表键时,可以获得系统访问的第一注册表键。
[0057]在本发明的一种【具体实施方式】中,步骤SllO可以包括以下步骤:
[0058]步骤一:监测使用内核函数预先注册的注册表回调函数返回的参数;
[0059]步骤二:根据所述参数,判断当前访问的是否为浏览器的注册表键,如果是,则执行步骤三;
[0060 ]步骤三:获取所述参数中携带的第一注册表键。
[0061 ]为方便描述,将上述三个步骤结合起来进行说明。
[0062]在本发明实施例中,客户端可以预先使用内核函数CmRegisterCallback注册一个注册表回调函数,该注册表回调函数用于在系统访问注册表键时,返回相应参数,客户端通过该注册表回调函数返回的参数可以获取到系统访问的第一注册表键。
[0063]具体的,客户端可以在安装时进行注册表回调函数的注册,还可以在终端开机后自身启动时进行注册表回调函数的注册。
[0064]注册表回调函数的格式可以如下:
[0065]NTSTATUS RegistryCalIback(
[0066]PVOID Argumentl,
[0067]PVOID Argument2,
[0068]PVOID Argument3)
[0069]客户端通过上述第二参数Argument〗可以获知系统针对注册表键的操作类型,如打开、查询、修改或者删除等操作类型。本发明实施例中系统对注册表键的访问包括打开操作和查询操作。当第二参数Argument〗中携带的是系统针对注册表键的操作类型为打开操作类型或者查询操作类型时,客户端可以从第三参数Augument3中获取到其携带的第一注册表键,即系统访问的第一注册表键。
[0070]客户端获得系统访问的第一注册表键后,可以继续执行步骤S120的操作。
[0071]S120:根据所述第一注册表键,确定所述第一注册表键是否与预先获得的规则文件中的源注册表键匹配。
[0072]在本发明实施例中,规则文件,为用于注册表键重定向的规则文件,其记录的是源注册表键和目标注册表键的对应关系,每个对应关系即为一个重定向规则。在实际应用中,规则文件中的各对应关系可以由技术人员进行配置,并将规则文件存储于服务器中,由服务器主动下发给客户端,或者服务器在接收到客户端的查询请求时,将规则文件下发给客户端。技术人员可以不断收集源注册表键和目标注册表键的对应关系,并对规则文件进行升级。也就是说,随着源注册表键和目标注册表键的对应关系的规则的增加,规则文件的版本也在不断升级。
[0073]在本发明的一种【具体实施方式】中,客户端获得的规则文件的文件头中可以包含版本号信息,客户端可以向服务器发送针对规则文件的新版本的查询请求,在查询请求中携带自身存储的规则文件的版本号信息。具体的,客户端可以按照设定时间间隔向服务器发送查询请求,还可以在达到预设的触发点时向服务器发送查询请求,比如,在客户端网络环境较好时发送。
[0074]服务器接收到查询请求后,将查询请求中携带的版本号与自身存储的规则文件的最新版本号进行比较。如果自身存储的规则文件的最新版本号高于查询请求中携带的版本号,表明有新版本的规则文件可以提供,可以将该新版本的规则文件发送给客户端,客户端接收并存储服务器返回的该新版本的规则文件。如果服务器自身存储的规则文件的最新版本号与查询请求中携带的版本号相同,则表明当前没有新版本的规则文件可以提供,服务器可以向客户端返回空消息,或者不做任何操作。
[0075]当然,在实际应用中,当服务器中存储的规则文件有更新时,可以主动将新版本的规则文件发送给客户端,客户端接收并存储该新版本的规则文件。
[0076]这样,可以保证客户端中存储的规则文件的时效性。
[0077]在本发明实施例中,规则文件中包含的源注册表键和目标注册表键的对应关系可以如下所示,当然,下方所示规则文件仅为一种示例,对于规则文件中每一条规则的具体组织方式本发明实施例并不做限制。
[0078]〈root〉
[0079]〈!—第一条规则—>
[0080]<reg
[0081 ] src =,,HKEY_USERS\*_Classes\http\shel l\open\command” target =,,HKEY_LOCAL_MACHINE\SOFTWARE\MiniLiebao\DBreg\lbmin1.URL\shell\open\command” >
[0082]<valuelist>
[0083]<value name=,,默认” value=,,% lbmini %\lbmini.exe,,/>
[0084]</valuelist>
[0085]<processlist>
[0086]〈process name=,,氺氺,,act1n=,,0,,/>
[0087]</processlist>
[0088]</reg>
[0089]〈!—第二条规则—>
[0090]<reg
[0091 ] src = ” HKEY_USERS\*\Software\Microsoft\ffindows\Shell\Associat1ns\UrlAssociat 1ns\http\UserChoice”
[0092]target =,,HKEY_LOCAL_MACHINE\SOFTWARE\MiniLiebao\DBreg\UserChoice,,>
[0093]<valuelist>
[0094]<value name=”Progid” value=” lbmin1.URL”/>
[0095]</valuelist>
[0096]<processlist>
[0097]〈process name=,,氺氺,,act1n=,,0,,/>
[0098]</processlist>
[0099]</reg>
[0100]〈!—第三条规则—>
[0101 ] <reg src=”HKEY_USERS\*_Classes\360seUrl\shell\open\command” target=”HKEY_LOCAL_MACHINE\SOFTWARE\MiniLiebao\DBreg\lbmin1.URL\s hell\open\command”>
[0102]<valuelist>
[0103]<value name=,,默认” value=,,% lbmini %\lbmini.exe,,/>
[0104]</valuelist>
[0105]<processlist>
[0106]〈process name=,,氺氺,,act1n=,,0,,/>
[0107]&