IE8主页不能修改的Case Study
如果您不愿意看文字,可以直接查看本博文最后的视频演示 :)
最近,根据技术论坛的反馈和我收到的求助邮件,有很多用户遇到了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。在取得所有权之后,点击"应用"按钮即可,不必像操作普通文件系统ACE那样须要先退出权限设置。
接下来直接转到"权限"选项卡,删除Everyone并选中"包括可从该对象的父项继承的权限"之后,确定即可。
这样,Main的设置又还原成默认的了。如果您要和默认设置完全一模一样,那您还需将Main的所有者还原为SYSTEM(您需要在所有者选项卡中点击"其他用户或组"按钮,键入SYSTEM并确定才能将其添加进候选区域)。
好了,现在Start Page便可以自由修改了,主页自然也就可以自定义了 J
以下是本文章的视频演示:
佘华煜 (Eric Sheh),微软 MVP,致力于为微软 Windows 和 Office 用户及 IT 专业人士提供更好的帮助与支持。 关注我的 新浪微博,加入 我要做电脑达人 微群,收听每日 Office 效率提升秘籍~