IE首页读取策略
2024-03-17 17:33:41

起始页

网上有很多话题反映说在IE选项里了设置了新的首页,但是没有任何效果,除去软件劫持等原因以外,这都是对IE的首页读取策略没有搞清楚导致的。

在很久以前,大概是XP+IE6的时代,设置IE首页只需要设置一个注册表值就可以了

1
2
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"Start Page"="www.google.com"

自从IE8开始,首页的读取策略就变化了,浏览器启动后会依次访问以下位置来获取首页地址

第1个位置

1
2
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"First Home Page"="www.google.com"

这里的权重最高,但是只会执行一次,浏览器读取后会删掉该值,也可以称为一次性首页。

第2个位置

1
2
[HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\Main]
"First Home Page"="www.google.com"

与HKCU不同的是,这个值读取后不会自动删除,所以这里是锁定首页的最佳位置

第3个位置

1
2
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\EUPP]
"BackupHomePage"=hex:.....

如其名,这是一个缓存的首页地址,如果缓存地址和第6步中的地址不同,则会从第4步开始依次访问对应注册表位置的值来询问用户是否更改首页

第4个位置

1
2
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main]
"Start Page"="www.google.com"

第5个位置

1
2
[HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\Internet Explorer\Main]
"Start Page"="www.google.com"

第6个位置

1
2
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"Start Page"="www.google.com"

第7个位置

1
2
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main]
"Start Page"="www.google.com"

结论

对于锁定首页来说,修改第2个位置就行了,它优先级高,且不出现在IE选项里,普通用户无法通过更改IE设置来还原首页。

如果你想让IE以选项里的设置为准,只需要删除”BackupHomePage”和”First Home Page”即可,我这里提供一个写好的批处理

1
2
3
4
5
6
7
8
 set HOMEPAGE=www.google.com
REG DELETE "HKCU\SOFTWARE\Microsoft\Internet Explorer\EUPP" /v "BackupHomePage" /f
REG DELETE "HKLM\SOFTWARE\Microsoft\Internet Explorer\Main" /v "Start Page" /f
REG DELETE "HKCU\SOFTWARE\Policies\Microsoft\Internet Explorer\Main" /v "Start Page" /f
REG DELETE "HKLM\SOFTWARE\Policies\Microsoft\Internet Explorer\Main" /v "Start Page" /f
REG DELETE "HKCU\SOFTWARE\Microsoft\Internet Explorer\Main" /v "First Home Page" /f
REG DELETE "HKLM\SOFTWARE\Microsoft\Internet Explorer\Main" /v "First Home Page" /f
REG ADD "HKCU\SOFTWARE\Microsoft\Internet Explorer\Main" /v "Start Page" /t REG_SZ /d %HOMEPAGE% /f

第一行修改为自己的网址即可,由于删除了缓存地址,IE会提示设置已损坏,点击更改即可。
使用此脚本重置后就可以在IE选项里修改首页了。


辅助起始页

辅助起始页是随着浏览器启动的多开网页地址,和第一首页不冲突,同样的,HKCU比HKLM优先级高

1
2
3
4
5
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main]
"Secondary Start Pages"=hex(7):68,00,74,00,74,00,70,00,3a,00,2f,00,2f,00,77,00,\
77,00,77,00,2e,00,71,00,71,00,2e,00,63,00,6f,00,6d,00,2f,00,00,00,68,00,74,\
00,74,00,70,00,3a,00,2f,00,2f,00,77,00,77,00,77,00,2e,00,31,00,36,00,33,00,\
2e,00,63,00,6f,00,6d,00,2f,00,00,00,00,00

因为可以设置多个网址,所以注册表值类型是”REG_MULTI_SZ”。由于该功能使用不多,就不继续深究了。

相关阅读

逆向IE11的首页保护算法