时间炸弹

时间炸弹(Timebomb)是软件开发商对其开发的软件所施加的一个使用期限机制。

时间炸弹被引爆后弹出的系统提示。

对于Microsoft Windows来说,绝大部分的测试版/预览版(Beta/Preview)、评估版(Evaluation)等非正式授权的Windows副本一旦安装完成,便会存在一个使用的最后期限,超过这一期限之后,时间炸弹被触发,系统便会拒绝启动或定时关机或重启,无法正常使用。对于部分Build,时间炸弹一旦被触发,带来的影响都会是不可逆的,即便再将计算机时钟调回期限之前也无法消除。

表现现象

对于相对较早的Windows版本(Windows 8之前),当时间炸弹被引爆,现象都为系统无法完成启动,具体的现象为无法登录(有时伴随系统已过期的弹窗)、出现代码为“END_OF_NT_EVALUATION_PERIOD”的蓝屏死机等。

从Windows 8开始,时间炸弹触发后的现象变成了在固定时间后重启(例如8102是进系统后两小时自动重启),而且当系统已过期后开机会有提示该操作系统已经过期的信息提示(同时伴随桌面壁纸变为全黑色等现象),与此同时系统的激活也会自动失效。

不过,这类时间炸弹在过期了太长时间后,可能存在部分失效的现象,比如进入系统后出现每两小时自动重启系统的提示,但过了两小时后系统依然正常运行。

而在Windows 10和之后的时期,时间炸弹的实现则主要由Flight-signing机制负责,在超过期限后引导程序就会拒绝系统的启动。除此之外,如果目前还能进入系统,时间炸弹的触发现象只有操作系统过期的相关提示,以及激活状态的失效。

早期的Windows评估版本采用与测试版本相同的机制,触发机制和现象一般都是相同的。而较晚时期的评估版本,则采用了另一套独立的时间炸弹机制,触发后则会出现登录系统后账户自动退出登录,以及定时关机的现象;如果与此同时系统还是测试版本,那么两个机制则会同时存在,独立运作。

种类

编者按使用期限的确定方式将时间炸弹分为两种:固定型和顺延型。

固定日期,是指无论使用者何时安装系统,该副本的时间炸弹都会在某一预先设定好的日期触发,多见于测试版本当中;顺延日期,则是从用户安装系统完毕的时刻算起,向后顺延某一固定的天数,如90天、120天、180天等,此种机制则多在评估版本被采用。

避免触发时间炸弹

容易想到,若要避免触发时间炸弹,方法无外乎两种,要么确保本机的时钟时间在使用最后期限之前,要么设法破坏这一机制。

第一种方法非常的简单直接,只需要调整或锁定BIOS时间即可,大部分市面上常见的虚拟机和模拟器软件均支持修改配置文件达到调整/锁定日期的目的。但注意在安装前请先禁用虚拟机的网络,避免系统在安装时由于网络时间同步功能的自动运行导致触发时间炸弹;并在安装完毕后,关闭系统的网络时间自动同步功能。并且部分虚拟机的附加软件也会有将虚拟机时间和宿主机时间同步的功能,如果您想安装它们的话也请注意。

而关于第二种方法,不同阶段的Windows版本有着不一样的方法,如设法制作特殊的winlogon文件,让时间炸弹相关组件以为系统正运行在安全模式下,从而停止工作。但相关方法主要适用于较老的系统,随着Windows激活机制的不断发展,如今已难以实现。

附言:如果您想让时间炸弹失效的初衷是为了日常使用测试版的操作系统,请参见为什么不应该将测试版系统用于日常使用