2013年3月29日 星期五

Engineering teams at Mozilla and Epic ported Unreal Engine 3 to the HTML5



Deploying C++ to JavaScript using Emscripten:
http://www.joshuagranick.com/blog/2013/04/21/deploying-cpp-to-javascript-using-emscripten/

This article also talks about using Emscripten from Visual Studio 2010, we can use VS IDE to integrate with llvm-clang and emscripten toolchain.


Unreal JavaScript:
http://blog.bitops.com/blog/2013/05/01/unreal-javascript/

2013年3月28日 星期四

Activision R&D Real-time Character Demo


2013年3月14日 星期四

Flash Player Protected Mode for Firefox



1.  Protected mode的源起
為了避免Flash Player在執行時存取到敏感的資源,並防止攻擊者觸發一些bug傷害系統。故讓Flash Player在受限制的低授權(integrity)環境下運行,該系統先被實作於Adobe Reader X sandbox中。(http://blogs.adobe.com/asset/2010/10/inside-adobe-reader-protected-mode-part-1-design.html)
http://blogs.adobe.com/asset/files/2010/10/Sandbox-Diagrams3.png
可以使用一些process監控軟體,可以發現:http://blogs.adobe.com/asset/files/2012/06/three_processes.jpg
Flash player執行在Firefox時,會發現有三個process在運行。
  • “plugin-container.exe.”
    Firefox
    plugins接口,當Firefox運行plugins時會使用此獨立的process來執行。 
  • FlashPlayerPlugin – Medium IntegrityBroker process,用來當作sandbox版本的中間版本,sandbox可以在此broker process完整運行它的內容。此架構對於Broker process留有彈性,未來也能調整broker process功能上的限制。   
  • FlashPlayerPlugin – Low Integrity 
    針對需要被限制的功能就會將之隔絕,主要是運作Flash player engineWeb content的呈現。
2. 限制的方式
sandbox的功能被運行於Windows Vista/Windows 7作業系統。
  • Low integrity可以防止存取到寫入到使用者的profile或是registry(這些需要medium integrity權限)
  • Security Identifiers (SIDs)的條件設置更嚴格,關閉繼承於grouppermission
  • Job restrictionrestricting access to USER Handles and Administrator Access避免sandboxes干擾OS,限制只能存取到Parameters, Display Settings, Exit Windows and Desktop
3. 架構
 http://blogs.adobe.com/asset/files/2012/06/FlashPlayer_Sandbox_v2.jpg
OS broker at Medium integrity守護不被信任的sandbox與作業系統間的存取。Sandbox存取必須請求OS broker process的許可來存取敏感的資源檔。Sandbox包括了被定義允許和不允許的規範。此架構確保sandbox不會去直接存取OS而不事先透過broker。

Flash Player sandbox已經在IE, Chrome所實作過,目前在Firefoxsandbox即是Chrome sandbox再添加job limits on process。未來會持續改進,包括Chrome Pepper Flash Player Sandbox

4. 關閉方式
目前在Firefox有時會遇到Youtube影片或是一些Flash內容載入比較慢的問題,大致上都可以透過關閉Protected Mode方式做解決,關閉方式如下:
  • Windows 32bit: C:\Windows\System32\Macromed\Flash
  • Windows 64bit C:\Windows\SysWOW64\Macromed\Flash
mms.cfg加上ProtectedMode=0

Reference:

2013年3月13日 星期三

TypeScript: a JavaScript editor released by Microsoft

TypeScript 到底對 JavaScript developers 有什麼好處呢?它最重要的任務就是在語言中加入了靜態型別(static typing)的語法,不僅讓開發人員利用這些語法撰寫更嚴謹的程式之外,也更容易讓其它工具來做程式碼分析--像是更容易最佳化程式碼或是程式碼編輯器 中的語法提示(Intellisense)功能。

Reference:
http://blogs.msdn.com/b/ericsk/archive/2012/10/02/quick-look-on-typescript.aspx