來源 | 開源中國(ID:oschina2013)
4chan 論壇的一名用戶發(fā)帖稱 Windows XP 源碼已被泄露,并在帖子里面附上了一張正在解壓 Windows NT 內(nèi)核源碼的截圖,從解壓路徑來看,被泄露的系統(tǒng)版本是 Windows XP SP1。目前該帖子已被歸檔,暫不允許回復(fù)。
已下載泄露文件的用戶提供了如下截圖,可以看到整個文件大小為 42.92GB,從目錄結(jié)構(gòu)來看,被泄露的內(nèi)容還包括 Xbox 操作系統(tǒng)源碼,以及 Windows NT 5 內(nèi)核、Windows NT 4 內(nèi)核和 Windows NT 3.5 內(nèi)核源碼,此外還有 Windows 2000 等其他版本操作系統(tǒng)的源碼,其中名為"misc"的文件夾體積最大,總共 31.17GB,占到了整個文件的 70%。
創(chuàng)建并提供種子下載的用戶表示,這些文件已在黑客中秘密傳播了很多年,他花了大約2個月的時間收集了所有被泄漏的文件,并已經(jīng)檢查了所有的存檔,以確保它們的真實性。
這里泄露的是 Windows XP,其實此前已經(jīng)有微軟內(nèi)核工程師 Axel Rietschin 發(fā)表了一篇博客,帶大家一窺了 Windows 10 內(nèi)核的魅力。
Axel 介紹,Windows 10 與 Windows 8.x、7、Vista、XP、2000 和 NT 的代碼庫是相同的,其中每一代都在之前的基礎(chǔ)上進行重大的重構(gòu),并增加大量新功能,改進性能和硬件支持,此外還有安全性的提升,同時保持非常高的后向兼容性。
目前在 GitHub 上其實可以找到 Windows 內(nèi)核研究的泄露副本,雖然這些代碼已經(jīng)過時且很不完整,但它們還是具有很高的研究價值。比如 wrk-v1.2/base/ntos/config 源碼實現(xiàn)了一個大名鼎鼎的內(nèi)核組件配置管理器 Registry,也就是注冊表,它在內(nèi)部稱被為 Cm。
Axel 介紹,ntoskrnl.exe 內(nèi)核大部分是使用 C 編寫的,在內(nèi)核模式下運行的大多數(shù)內(nèi)容也是用 C 編定的,包括文件系統(tǒng)、網(wǎng)絡(luò)與驅(qū)動程序等。其中也包含一些 C++ 代碼,而越靠近用戶模式、越接近新的源碼時,C 的使用變得越來越少,反之 C++ 變多。
具體看一下 Windows 10“DVD”的源碼,作者猜測其中 98% 由 C 和 C++ 寫就,而 C 占據(jù)大比例。
此外,.NET BCL 與一些相關(guān)庫和框架通常都是用 C# 編寫的,“但它們也只不過是帶有幾座 C++ 小島的 C 汪洋大海的一栗”,它們來自不同的部門,代碼并不屬于 Windows 源碼樹。
作者驚呼:Windows 源碼的規(guī)模巨大,這是一個真正史詩般的巨型項目。
完整的源碼樹包含所有代碼,如上圖所示,測試代碼與一起構(gòu)成“Windows 源碼”的所有內(nèi)容加起來有超過 400 萬個文件、50 萬個文件夾、大小超過 0.5 TB,其中包含了構(gòu)成 OS 工作站、服務(wù)器和所有版本的工具、相關(guān)開發(fā)工具包的每個組件的代碼。
源碼的規(guī)模有多恐怖呢?作者估計完全查看這些源碼的文件名,并試圖理解源碼具體是用來干什么的,需要花上一生的時間。他還舉了一個例子:有一次,我離開了一個 Git 分支幾個星期,當(dāng)我回來時,已經(jīng)落在了將近 60 000 次 commit 之后。
—————END—————
喜歡本文的朋友,歡迎關(guān)注公眾號?程序員小灰,收看更多精彩內(nèi)容
點個[在看],是對小灰最大的支持!
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!