最近经常发现IE8主页被恶意篡改不能修改的问题,而且使用注册表、第三方安全工具均无法修复。遇到这样的问题非常头痛,相信很多网友都有亲身的感受!
从IE8主页被恶意篡改不能修改分析结果来看,很多用户都可能是安装了某个下载的游戏或者软件之后,IE主页不能修改,具体原因是HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main下面的Start Page不能更改。因此,像360安全卫士一类的安全辅助工具只能检测到IE主页被篡改却不能修复。下面举个例子,IE主页被篡改成www.qq5.com(为了您的安全,建议不要访问该网址)。
笔者发现,只要是尝试修改Start Page键值就会遭遇报错,这说明很有可能是注册表项的权限被恶意更改了。我们用注册表编辑器查看Main键的权限,果然,只有一个Everyone组,而且只有读取的权限。而查看其他的前后键的权限,都是继承于Internet Explorer键的正常权限。如下图所示:
这很明显,说明了Main键的权限被下载的游戏或者软件安装包在安装过程中执行了系统regini.exe的8号命令——World Read Access,因此Main键值就只读了,任何用户都没有权利去修改。在这里需要说明一下,regini.exe是系统自带的用于指定注册表项目权限的实用工具,只提供命令行版本。在本案例中,它完全是被恶意软件或者广告软件利用了。通过它把Main项的权限指定为”World Read Access”无非就是想要达到不允许用户更改其下Start Page键值的目的。更多关于regini.exe的用法,请在命令提示符下键入”regini /?”查询。
由于被指定了”World Read Access”权限,此时我们无法再从注册表编辑器直接添加权限了,也不能使用regini执行7号命令”World Full Access”了,为啥呢?因为Main键的所有者还是默认的SYSTEM,当只有一个Everyone权限而且还设为只读时,全世界就只剩下所有者一人可以执行其他的操作了,因为所有者是在此情形下唯一具有特权的用户。我们接下来需要将当前的所有者SYSTEM替换为Administrators或者当前的某个具体的管理员帐户,这样就可以利用所有者的特权了。(注意,如果能保持当前用户登录(这样HKCU才是你)并以SYSTEM身份执行regini的7号命令——World Full Access,也是可行的,但是这样做难度有些大,没有我们当前将要继续的这种方法简单)
清楚了原理之后,接下来我们就可以修复该问题了:
您需要以隶属于Administrators组的管理员帐户登录Windows,并以当前账户或者Administrators组取得Main键值的所有权。关于如何取得注册表的所有权,请参见http://technet.microsoft.com/zh-cn/cc786173(WS.10).aspx