V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Greatshu
V2EX  ›  程序员

不要乱改系统时间,企业微信把系统搞炸了😓

  •  1
     
  •   Greatshu · 2021-03-10 01:28:20 +08:00 · 8599 次点击
    这是一个创建于 1358 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    1.安装企业微信;

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

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

    Windows 10 32 位

    进桌面后屏幕闪烁

    我又试了Windows 7 32 位

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

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

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

    第 1 条附言  ·  2021-03-10 10:29:31 +08:00

    首先说明一点,为什么骂微信。系统时间不对,软件自己可以拒绝运行,可以出错,可以崩溃,但把操作系统搞出问题影响其它软件使用这个锅,微信是甩不掉的。

    Windows 10 2019 ltsc 64位上测试,应该是2038年问题,微信的软件缺陷,和上面的Windows 10 32位一样,开机屏幕闪烁,修改时间后正常。

    Windows 7 旗舰版 64位 Windows 7 64位就更好玩了,安装软件修改系统时间后,系统没有没有立刻挂逼,重启后时间跳到了2157年。

    楼下有人说是证书问题,系统中根证书最长有效时间是2036/7/17,改时间到2036/7/18,各个软件使用正常,企业微信证书链全部过期,仍然可以正常打开,但估计无法登录或者登录会出问题,上班正好要用就不测试了。

    35 条回复    2021-03-16 13:52:07 +08:00
    xujinkai
        1
    xujinkai  
       2021-03-10 01:41:45 +08:00 via Android   ❤️ 6
    盲猜 2038 年
    wateryessence
        2
    wateryessence  
       2021-03-10 02:05:04 +08:00
    64 位系统能复现吗?看起来是 Y2038 问题
    CrazyBoyFeng
        3
    CrazyBoyFeng  
       2021-03-10 05:29:21 +08:00 via Android
    64 位系统应该也能复现 y2038,因为虽然系统是 64 位的,但是(相当多的)应用还是 32 的。还包括文件系统(例如 ext3 )。
    codingadog
        4
    codingadog  
       2021-03-10 07:24:56 +08:00 via Android   ❤️ 1
    自从发现企业微信会劫持 chrome,就把它列入黑名单了。
    Variazioni
        5
    Variazioni  
       2021-03-10 07:38:07 +08:00
    你们都关注是 y2038 的问题。。。我关注的是。。楼主为啥要把时间往后调?
    GDC
        6
    GDC  
       2021-03-10 07:55:27 +08:00 via iPhone   ❤️ 2
    @Variazioni 可能是想和未来的人聊天
    a342191555
        7
    a342191555  
       2021-03-10 08:01:22 +08:00 via iPhone
    @codingadog #4 请问具体来源,刚才搜了一下没找到
    ClarkAbe
        8
    ClarkAbe  
       2021-03-10 08:25:14 +08:00 via Android   ❤️ 1
    你当真是开发?不知道在 bios 里面改嘛.......而且 32 位本来就不够纯到 2038 年的时间戳
    riverdd
        9
    riverdd  
       2021-03-10 08:29:06 +08:00 via Android
    货色如此
    meepo3927
        10
    meepo3927  
       2021-03-10 08:30:48 +08:00
    @ClarkAbe 我也不知道 BIOS 也能改 ,呃
    PMR
        11
    PMR  
       2021-03-10 08:31:56 +08:00 via Android   ❤️ 2
    系统问题 X
    微信垃圾 ✓
    kangzai50136
        12
    kangzai50136  
       2021-03-10 08:33:04 +08:00
    @ClarkAbe 只会写代码不会装系统的人多得是
    geelaw
        13
    geelaw  
       2021-03-10 08:55:55 +08:00 via iPhone   ❤️ 4
    为什么会觉得是 2038 问题? Windows 自带的时间数据类型可以支持至少 30000 年,从 VS 2003 开始 time_t 就默认是 64 位了,很难相信微信还在用 32 位的 Unix 时间。

    另一个问题是为什么就能确定是企业微信的问题。楼主也没说控制变量的尝试结果是怎么样的。一个很容易想到的理论是:因为时间改变,几乎所有的证书都失效了,从而导致各种代码验证失败(包括本机 Windows 程序的数字签名以及 TLS 证书等)。
    Laforet
        14
    Laforet  
       2021-03-10 08:59:00 +08:00   ❤️ 1
    @geelaw

    这样解释的话系统时间丢失,回到 1970 年或者 2015 年也能复现这个问题
    toaruScar
        15
    toaruScar  
       2021-03-10 08:59:07 +08:00   ❤️ 1
    @PMR 不说微信垃圾会有人点进来看?
    dnsaq
        16
    dnsaq  
       2021-03-10 09:15:18 +08:00 via iPhone
    现在很多软件对时间都有要求 Chrome 系统时间不对也打不开
    whywhywhy
        17
    whywhywhy  
       2021-03-10 09:21:03 +08:00
    唉,这么说 win7 在 2038 年后就不能用了吗,这么经典的一个系统,可惜了可惜了
    2kCS5c0b0ITXE5k2
        18
    2kCS5c0b0ITXE5k2  
       2021-03-10 09:23:19 +08:00
    @whywhywhy 17 年后 你还用 win7? 想想你 17 年前用啥系统.
    Phariel
        19
    Phariel  
       2021-03-10 09:31:02 +08:00 via iPhone
    所以 没事别手贱 我以前就手贱搞挂过不少东西 现在年纪大了 好奇心降低了也就不会再犯了 🐶
    codingadog
        20
    codingadog  
       2021-03-10 09:55:09 +08:00 via Android   ❤️ 2
    @a342191555 装一个就可以在 chrome 里看到被企业管理的提示了,个人经历,和阿里被爆出来的一个东西。
    app13
        21
    app13  
       2021-03-10 10:34:02 +08:00 via Android   ❤️ 1
    怎么这么多人怀疑是不是微信的锅……
    最起码第二张 win7 的截图里明明白白写着 wedriveplugin 啊,这名字看上去就是微信的组件了吧……
    12101111
        22
    12101111  
       2021-03-10 10:39:13 +08:00
    Windows NT 用的是 1600 年起的纪年法,不是 Unix 的 1970 年纪年法,因此不会有 2038 问题
    GM
        23
    GM  
       2021-03-10 10:39:18 +08:00
    楼上有些人真是好笑,微信自己把自己 dll 注入系统进程,然后自己 dll 出问题导致系统进程出问题,这不是微信的锅,难道怪微软不禁止微信注入?
    Greatshu
        24
    Greatshu  
    OP
       2021-03-10 10:48:24 +08:00
    @dnsaq #16 可以打开,除了无法使用 https 和 doh
    Greatshu
        25
    Greatshu  
    OP
       2021-03-10 10:55:55 +08:00
    @ClarkAbe #8 系统里就能解决的,为什么进 BIOS 。而且 64 位测试了,问题依旧。
    marcong95
        26
    marcong95  
       2021-03-10 11:01:03 +08:00
    Y2k 、令和、Flash 、Y2038,有种见惯不怪的感觉了。。1202 年了,就算是新写的系统还是看见有人用的 32bit timestamp,也不知道是不是就是这么缺那一点点内存硬盘流量等等的,反正 Y2038 是注定的了。
    lepig
        27
    lepig  
       2021-03-10 11:20:07 +08:00
    歪楼:楼主的屏幕 是 4K 屏不
    kangzai50136
        28
    kangzai50136  
       2021-03-10 11:56:02 +08:00 via Android
    楼主测试一下,在 sandboxie 里面试试会不会炸
    xz410236056
        29
    xz410236056  
       2021-03-10 15:08:54 +08:00
    最新系统是 20H2 吧,试试更新系统呢
    dorothyREN
        30
    dorothyREN  
       2021-03-10 18:15:40 +08:00
    不说别的。改了本地时间以后所有的 ssl 都会验证失败
    qq316107934
        31
    qq316107934  
       2021-03-10 18:29:08 +08:00
    歪个楼,一个聊天软件,为什么要往 explorer.exe 注入 dll
    orannge
        32
    orannge  
       2021-03-10 20:27:45 +08:00
    上次把时间改为 2050 年,重启后桌面无限崩溃,还以为电脑坏了,然后发现企业微信有个驱动,进安全模式把驱动删掉并改回时间才恢复正常。一个普通软件把系统搞崩溃,我只能说微信都是垃圾。聊天软件还弄个驱动,不用添加开机任务就能加载,堪比 QQProtect,这不比上次 QQ 扫描用户隐私的事情更严重?
    daokedao
        33
    daokedao  
       2021-03-10 22:14:32 +08:00
    装企业微信的电脑岂不是危险了
    Greatshu
        34
    Greatshu  
    OP
       2021-03-11 17:23:30 +08:00
    @lepig #27 不是,1920*1080
    @kangzai50136 #28 classic 和 plus 版都试过了,没有炸,没有漏沙
    lopetver
        35
    lopetver  
       2021-03-16 13:52:07 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5532 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:58 · PVG 15:58 · LAX 23:58 · JFK 02:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.