六六工具箱_66工具箱_致力打造安全、快捷、好用的工具箱,老哥的个人主页~

电脑技巧

因为360,火绒干掉了win 10的电脑桌面

不知道现在还有多少人还在用 Win 10 呢?前两天 Win10 20H2 的系统更新出事了,不少小伙伴更新完之后跑到知乎上大喊:我桌面呢???

图片1.png  

这些丢了桌面的小伙伴一番摸索之后发现,自己电脑上的 explorer.exe 程序不见了。

图片2.png 

给不知道的小伙伴解释一下,在 win11 之前, explorer 这个系统程序总管电脑里的任务栏、桌面、开始菜单、以及文件管理器。

它没了,桌面自然就没了。

再一番追查之后,大家发现这个系统组件居然是被自己装的第三方杀毒软件火绒给杀掉的!

图片3.png 

好好的,为啥原本该给系统当保安的火绒会突然开始反过来攻击 “ 自己人 ” ,把更新之后的系统组件给删了呢?

抱着好奇的心态,看看有没有大佬来分析一下到底是怎么回事。

结果不看不要紧,一看更迷惑了——这整个乌龙事件里,不仅涉及到刚才我们谈到的主角 Windows 和火绒,竟然还有一个看起来八竿子打不着的 360 。

不知道大家有没有注意过,从 Win 10 开始,底部任务栏默认状态下会有一个搜索框。

图片4.png 

显然 Windows 并不满足于任务栏搜索之前的功能,所以在里面加入了不少资讯、兴趣类的内容。

360 也看上了任务栏这个 “ 好地段 ” ,往本就不大的任务栏里也塞入了自己的搜索栏。

图片5.png 

一山肯定不能容二虎,任务栏就这么大, 360 再强插一脚进来很难不出现问题。

据有的小伙伴儿说,这两个功能都启用的时候,会有概率死机、崩溃。

Windows 自然不能放着这样的事情不管,但它不知道出于什么原因,没有对 360 重拳出击,反而是出了个补丁,来避让 360 。

根据知乎用户 @Henryzhao 分析, Windows 的这个补丁特地在任务栏里做了一个叫 “ IsHijackingProcessRunning ” ( 劫持程序是否运行 )的函数检查 360 进程运行情况。

大家可以看一下截图中的检测函数代码。

它扫描的 360 Safe 、 ZhuDongFangYu 这些,都是 360 系程序的经典进程。

图片6.png 

如果检测到 360 的产品正在运行,就会主动让 Windows 自己的任务栏资讯功能做出避让,也就是代码中的 SellFeedsCampain = 0 。

这样做避免了出现 360 的搜索栏和 Windows 任务栏相互冲突的情况。

但是 Windows 的这段代码,本身就是新加入的内容,实现的又是检测其他进程这么敏感的动作,加上名字里 “ 劫持 ” 这个词听起来也很敏感,所有的因素叠加起来很自然就引起了火绒的注意。

最后的结果就是杀毒软件火绒把 Windows 的这个补丁行为直接当成了病毒来处理,给杀掉了。

然后大家的桌面就没了。。。

不过火绒这边的动作也非常快,很快就发了公告,更新完特征库了。

所以大家现在可以放心更新系统了。

图片7.png 

回过头来看,整个事情无非是 360 想要强行在系统任务栏里贴赚流量,结果和微软自家搞的流量口子冲突了。

微软想着给 360 腾位置,反而被火绒误杀了。

说来也巧,这种系统给应用擦屁股的行为其实并不是第一次出现。

我们大家熟悉的 iPhone 和微信,也有过这么一档子乐子。

图片8.png 

苹果之前就发现,微信的性能监控方案里调用了一个系统功能 API —— stack _ logging _ enable _ logging 。

这个 API 在很早之前的 iOS 版本当中可以启用堆栈日志,但是后来苹果把这个功能迁移到了别的 API 上, stack _ logging 这个 API 就没有任何实际意义了。

然而微信的程序员并没有随着苹果在系统中做出的调整来调整自己的代码,依旧会在微信中调用 stack _ logging 。

结果就导致苹果的遥测后台会收到大量的 “ 无效 API 调用 ” 报错。

虽然这个报错不会对 App 的正常使用造成任何影响,但估计全中国 2 亿多的 iPhone 用户都在跟苹果 “ 报错 ” ,把苹果后端的工程师也给看无语了,所以后来的 iOS 更新当中,又特地把这个 API 作为一个 “ 空壳子 ” 加了回来。。。

图片9.png 

这一次,苹果工程师直接把 stack _ logging _ enable _ logging 的注释改成了:这串 API 什么用也没有,鬼知道为什么微信还在调用它。

然后把包含这个 API 更新的文件命名为了 “make tapi happy” ( 让腾讯 API 开心 )

图片10.png 

很明显,这次 Windows 和 360 并没有像苹果和微信一样获得一个 “ 开心 ” 的结局,反而把火绒也卷了进来,闹了一个大笑话。

这里面有两家在遇到冲突的时候,没有沟通好的原因。

假如, Windows 能够及时告知 360 并制止它这样的行为,而不是吭哧吭哧地给它打补丁擦屁股。

可能就不会有这样的笑话了。

再退一步,如果 Windows 和 360 都不往任务栏里加搜索、资讯这些牛皮癣一样的内容,问题是不是就在源头解决了呢?

相关资讯