是的,某上网冲浪十余年的老司机,浏览器的首页被流氓软件劫持了。
起因是前一段时间在笔记本上运行了“绿色版”的联想电脑管家,卸载不干净之后只能手动清除。今天发现打开 Edge 浏览器时,会自动打开 https[://]discovery.lenovo.com.cn/home/baidu/v7/c4
,并最终跳转到百毒 https[://]www.baidu.com/?tn=15007414_12_dg
。无论使用桌面图标打开,直接运行 msedge.exe,或从开始菜单搜索打开,都会出现相同现象。
分析
- 首先排除了浏览器设置(设置为打开新标签页,或打开指定网页都无效),以及桌面快捷方式被修改的情况。
- 浏览器内按 Ctrl-T 打开新标签页没问题。
- 注册表搜索 “lenovo.com.cn” 或 “baidu” 关键词,都没有找到相关结果。
- 使用 Windows 的 strace 替代品——Process Monitor(微软官方小工具),发现 Explorer.exe 启动 msedge.exe 时已经带了后缀。
- Chrome 默认不受影响,但是如果把 Chrome 启动程序 “chrome.exe” 改名为 “msedge.exe”,也会打开被劫持的网页。
到这里其实思路很明显了:有人 hook 了启动进程的 Win32 API(具体叫啥我不清楚,可以想象成 Linux 的 exec 系统调用),检测到 “msedge.exe” 之后就自动修改命令行加上后缀。
清除
网上推荐的方法是打开联想电脑管家,然后解除“浏览器首页锁定”。但是我好不容易才摆脱了这个流氓软件,再安装回来是不现实的。
根据以往经验,上述 hook 操作通常是通过 Windows 驱动实现的。没有找到好用的工具可以列出系统里运行的第三方驱动,或者列出谁 hook 了 Win32 API。于是用笨办法,直接打开 %windir%\system32\drivers
,按照日期排序,一眼就发现了 IndexProtect.sys
。
接下来方案就很简单暴力了,首先用 sc delete IndexProtect
(管理员权限)删除该服务,重启电脑后再删除驱动文件即可。
后记
最近某一天谈论起来,说好像“电脑管家”这东西是中国特色。老外只会安装杀毒软件,不需要 360 全家桶一键系统加速清除垃圾。
一个美好的愿望:希望世界上没有流氓软件,也没有流氓搜索引擎。
感谢 Bing AI DALL·E 3 提供本文首图。
PS:最可悲的是,因为这破事浪费了两个小时,本来是准备用来写一个小工具的。尼玛的。