Windows 机密空间占用回顾

Raymond Chen

还记得 Microsoft Bob 吗? 它最初的设计意图是成为 Windows® 3.1 上友好的用户界面,但最终却声名狼藉(甚至还背上恶名,成为《PC World》评出的有史以来最差技术产品之一)。在 Bob 退出历史舞台之后的几年里,该产品已经沦落一提起就让人发笑的地步。

巧合的是,Microsoft® Bob 的内部代号为“Utopia”(乌托邦)— 名称虽略显张狂,但至少显出一份冲劲和活力。当得知营销同事们为此产品定下 Bob 这个名字时,我们全都摇头表示怀疑。

但是,接下来我将介绍您可能并不知道的 Bob 来龙去脉。 Bob 的失败反倒是一件好事。

如果打算通过 CD 来发布软件,您一定会担心单独的一张 CD 是否能够实际放下您的产品。幸运地是,尽管将翻译、支持工具和必须放到 Windows XP CD 中的其他内容所需的磁盘空间计算在内,仍然会剩余约 30 MB 的存储空间。担心这些事的人们指出,既然我们买下了 CD 上的所有存储空间,那就应该把它都用起来,不是吗?

fig.gif

Microsoft Bob 的内部代号为“Utopia”(乌托邦)— 名称虽略显张狂,但至少显出一份冲劲和活力。(单击该图像可查看大图)

这样做的另一目的是减少喜欢制作 Windows 非法副本的人数,但却收效甚微。有人决定使用虚拟数据填充 CD 上的该剩余空间,然后通过 Windows 安装程序来确认虚拟数据是否仍然存在。依此逻辑,下载 CD 映像副本的人们将不得不额外下载三十或更多兆的数据。请注意,当时“宽带”尚未普及到每个家庭,主流用户使用的是拨号连接。强迫用户通过 56Kb 调制解调器额外传输三十兆数据会产生一些负面影响 — 尽管按照今天的标准来看影响并不大。

要想通过虚拟数据检查,还需要虚拟数据源。现在,他只需调用 CryptGenRandom 函数即可生成 30 MB 加密随机字节,但这种方法还真没有吸引力。通过挖掘存档可找出一个 Microsoft Bob 的副本。 他取得了所有软盘映像,并将它们组合成一个大文件。Microsoft Bob 软盘映像的内容随机性并不强,所以他决定通过加密来打乱这些数据。当需要输入加密密钥时,他只需用手在键盘上随意划过,就能得到一份加密的 Microsoft Bob 副本。它就是用来占据 Windows XP CD 上未使用空间的承载数据。

最终,Windows XP 成了有史以来所开发的最有效 Microsoft Bob 部署工具。如果回头翻查储物柜,找出您的 Windows XP 副本,精确按照上述说明操作,加密程序就会生成一份 Microsoft Bob 的副本。

Raymond Chen 的网站“The Old New Thing”及同名著作均讲述了 Windows 的发展发展情况及 Win32 编程。他很想知道自己是否能看到重大的技术改变。

© 2008 Microsoft Corporation 和 CMP Media, LLC。保留所有权利;未经允许不得复制本文的部分或全部内容