技术解析

不要乱改系统时间,企业微信把系统搞炸了
0
2021-06-09 13:18:25
idczone

晚上回家,收到群消息要求开会,打开企业微信听领导瞎 bb,闲着没事把系统时间调到了 2040 年(具体时间记不清了,总之是 2040~2049 年),然后什么事都没有发生。开完会,关机上床,又收到傻逼领导的指示要求发送最新的文档,开机,抗投诉服务器哦豁……

以下场景是我在虚拟机中复现的:

1.安装企业微信;

2.将系统时间修改到 2040 年以后,更准确的触发时间节点不明

企业微信版本是 3.1.2.2211,半小时前刚下载的最新版

Windows 10 32 位

进桌面后屏幕闪烁

我又试了Windows 7 32 位

我本机用的是 Windows7,但没有出现改完时间立刻崩溃的现象,可能是我的实体机安装软件版本低或者虚拟机系统版本低。

调完时间不用重启,Windows 资源管理器直接挂逼了,

修复方法:进安全模式或者 CTRL+ALT+DEL 打开任务管理器,运行 cmd,改时间。


盲猜 2038 年

64 位系统能复现吗?看起来是 Y2038 问题

64 位系统应该也能复现 y2038,因为虽然系统是 64 位的,但是(相当多的)应用还是 32 的。还包括文件系统(例如 ext3 )。

自从发现企业微信会劫持 chrome,就把它列入黑名单了。

你们都关注是 y2038 的问题。。。我关注的是。。楼主为啥要把时间往后调?

可能是想和未来的人聊天

请问具体来源,刚才搜了一下没找到

你当真是开发?不知道在 bios 里面改嘛.......而且 32 位本来就不够纯到 2038 年的时间戳

货色如此

我也不知道 BIOS 也能改 ,呃

系统问题 X
微信垃圾 ✓

只会写代码不会装系统的人多得是

为什么会觉得是 2038 问题? Windows 自带的时间数据类型可以支持至少 30000 年,从 VS 2003 开始 time_t 就默认是 64 位了,很难相信微信还在用 32 位的 Unix 时间。
另一个问题是为什么就能确定是企业微信的问题。楼主也没说控制变量的尝试结果是怎么样的。一个很容易想到的理论是:因为时间改变,几乎所有的证书都失效了,从而导致各种代码验证失败(包括本机 Windows 程序的数字签名以及 TLS 证书等)。


这样解释的话系统时间丢失,回到 1970 年或者 2015 年也能复现这个问题

不说微信垃圾会有人点进来看?

现在很多软件对时间都有要求 Chrome 系统时间不对也打不开

唉,这么说 win7 在 2038 年后就不能用了吗,这么经典的一个系统,可惜了可惜了

17 年后 你还用 win7? 想想你 17 年前用啥系统.

所以 没事别手贱 我以前就手贱搞挂过不少东西 现在年纪大了 好奇心降低了也就不会再犯了
数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服