剛剛看到的一則趣聞,內容是說Google的Chrome瀏覽器
它的源代碼被人發現有逆向Windows API的嫌疑!
該位程式人員名字叫做Scott
Scott花了不少的時間研究Chrome源代碼,以及Chrome的授權協議
他發現Chrome在安全功能上用了一些不在MPL授權範圍內的功能!
這個功能實現了Chrome的SandBox功能,由Scott的文章裡可以看出
Chrome的SandBox很有可能就是基於Windows的DEP(資料執行防止)
這個DEP主要是用來防止Buffer Overflow(緩衝溢位)
雖然這是Windows早就內建的功能,但是在IE7的時候MS沒有讓IE7加入這個保護
他們的理由是由於plug早已規範好了,如果冒然加上,可能會造成plug相容性的問題!
不過在最近推出的IE8中,預設就已經擁有了DEP的功能,可以用來阻止Buffer Overflow的行為
種種跡象看起來Chrome好像真的透過逆向工程使用了MS隱藏起來的API
其實這類事情好像也不是第一次發生了!
幾個月之前在FireFox 3還沒有正式推出的時候,我在Mozilla Develop Team blog上
上到了一個程式人員寫了一篇關於Apple隱藏了關鍵MAC OS API
導致FireFox在MAC OS上效能很差勁!
這個程式人員說他剛開始的時候感到很懊惱
因為MAC版的FireFox無法像在Linux或者是Windows平台上一樣擁有極高的性能
後來在持續的改進與摸索下,他發現了MAC OS隱藏的API,認為Apple是故意的!
只是原本我想把這件事給寫在自己的blog上,但是回頭去找該篇blog時卻再也找不到了..
不知道是程式人員發現自己說了不該說的話?還是被Apple施壓?
一直到現在還是個謎..不過我個人是傾向於應該是被Apple施壓..
因為這還瞞像Apple會做的事情XD..
沒有留言:
張貼留言