2008年1月14日 星期一

MS08-001與Windows Vista的半開連線數限制

這個半開連線數限制一直以來困擾著許多P2P的玩家,當然也有好幾位國外的駭客為了這個問題特別去製作修正檔,不過直到最近微軟發佈KB941644 安全性修正,又讓一些問題浮現出來。首先當然就是需要重新製作修正檔,這算是小問題,因為有駭客發佈最新的修正檔

然而Vista x64的使用者在安裝此修正之後,會發現和網路相關的系統服務完全沒法啟動,這是因為Vista會檢查驅動程式的雜湊(hash)完整性 ,修改過的tcpip.sys當然無法通過了。過去碰到這種情況會使用bcdedit加入「DDISABLE_INTEGRITY_CHECKS」參數到Windows boot loader裡頭,使Vista不去檢查雜湊完整性。但是如果你裝了KB943899、KB943078、KB932596、B938979、KB941649這些修正檔,這行參數就完全無效了,因為這些修正檔會強制Vista去檢查驅動程式的簽章與雜湊完整性,並忽視「DDISABLE_INTEGRITY_CHECKS」這個選項。如此一來,每次啟動Vista之前,都要先按F8進開機選單,並選擇不要使用驅動程式簽章檢查,這實在很擾人(Vista又多了一個擾人的罪狀了…)。

Vista x32的使用者不會有這個問題,但是對於電腦記憶體裝有4GB以上的人來說,不太可能會去用32位元的版本。 (我就是

現在有個更簡單的作法,對岸的網友寫了一個名叫TCP-Z的軟體,直接更改記憶體的半開連線數,而無須修改或覆蓋任何檔案。

不過這樣的作法必須讓TCP-Z在Windows啟動時跟著啟動,有點麻煩,所以TCP-Z的作者寫了一個虛擬硬體裝置,只要安裝這個虛擬硬體裝置,就可免去啟動TCP-Z的步驟。