Windows 機密文件空間佔用回顧

Raymond Chen

還記得 Microsoft Bob 嗎? 它原本是為了在 Windows® 3.1 上層提供方便使用的使用者介面,結果卻搞得臭名遠播 (贏得《PC World》選出的史上最糟技術產品之名)。在 Bob 落幕後的這麼多年來,這個產品逐漸被貶為笑柄,只現身在印著它的名字的球鞋上。

附帶一提,Microsoft® Bob 的內部產品代碼是「烏托邦」 — 果然是野心勃勃,不過至少這個名稱比較有活力。當我們知道行銷部同仁決定將產品命名為 Bob,我們全都不敢置信地搖著頭。

不過您可能不知道,Bob 的殘餘價值不只如此。事實證明,死掉的 Bob 比活著更有用。

當您想要在 CD 上散發軟體時,有一件事必須要注意,就是確保單一 CD 能夠確實容納產品。幸好,考慮到轉譯、支援工具以及其他要放入 Windows XP CD 的東西所需的磁碟空間之後,空間還夠,而且還剩下 30 MB 的儲存容量。負責處理這些事情的人員想到,既然 CD 上的這些儲存空間也算在成本內,不如利用一下剩餘的空間,不是嗎?

fig.gif

Microsoft Bob 的內部產品代碼是「烏托邦」 — 果然是野心勃勃,不過至少這個名稱比較有活力 (按一下以放大影像)

嘗試的結果卻還是阻擋不了想要非法拷貝 Windows 的人。有人決定在 CD 上多餘的容量填滿假資料,並讓 Windows 安裝程式檢查這些假資料是否還在原處。按這個邏輯來說,這樣能強迫下載 CD 映象複本的使用者下載額外的 30 MB 左右的資料。別忘了,我們所說的時代背景是當「寬頻」這個字眼尚未普及,而主流使用者仍在使用撥號連線的年代。必須透過 56Kb 的數據機傳輸額外的 30 MB 的確會造成一些阻礙並拖延使用者的行動 — 當然以今日的標準來看,這麼做並不會拖慢傳輸速度。

被指派實作這項檢查的人員需要找出假資料的來源。現在,他只要呼叫 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 and CMP Media, LLC.著作權所有,並保留一切權利。未經許可,不得部分或全部重製