2011-05-12 22 views
8

憤怒的小鳥在Chrome網上商店(http://chrome.angrybirds.com)上發佈憤怒的小鳥使用什麼javascript混淆?

他們的JavaScript代碼被混淆,它似乎比我迄今爲止所見過的任何js混淆更好。

我想知道是否有人知道他們使用什麼或知道可比較的東西。

+0

哇,我正在看它的代碼這一刻!這太瘋狂了......要查看代碼:在頁面上檢查元素,在那裏訪問一個iframe,然後您會看到幾個腳本標記。右鍵點擊,複製爲html,粘貼到某個地方,你會看到它。我想知道是否與該代碼,你可以在其他瀏覽器上運行它... – ariel 2011-05-12 07:40:57

+0

無賴..只需要打開http://chrome.angrybirds.com/,它在Firefox中運行正常 – ariel 2011-05-12 07:42:00

+0

無輪支持ff .. on ie9比鍍鉻更平滑:P – ariel 2011-05-12 07:47:29

回答

5

這似乎是最初寫在GWT - 是有道理的,因爲有在Android上運行的版本,這可能是用Java編寫的...

然後與關閉編譯器在高級模式優化(GWT支持那)。

編輯:OOOPS!

不高級模式。輸出是不是優化由閉合編譯器的高級模式。例如,諸如「null」之類的符號不像在Closure-obfuscated程序中那樣是別名。此外,諸如「var J; var K;」將通過Closure縮寫爲「var J,K」。如果 - 語句仍然存在,那麼編譯器將會刪除大部分語句(由& &和||運算符替換爲較短的代碼)。似乎也沒有任何屬性或虛擬化的扁平化,這是Closure Compiler的標誌。

很難檢查屬性的重命名,因爲代碼似乎沒有使用JavaScript庫 - 它看起來像是具有DOM訪問權限的vanilla JavaScript。在簡單模式下

看起來它已經由常規的JavaScript minifier精縮GWT與關閉編譯:

是什麼樣子。貌似關閉編譯器在簡單模式,因爲:

  1. 變量被重命名爲「A」,「B」等 - 通過關閉編譯器採取的做法
  2. GWT也是谷歌框架
  3. 線混淆代碼中的中斷並不常見,但可以在Closure編譯器中找到
2

如果我從Google IO中正確記得,並且通過查看源代碼,我幾乎可以肯定它是使用Google Web Toolkit編碼的。

整個項目用Java編碼,然後編譯並混淆爲javascript。

3

它確實似乎是來自Google CC的縮小版。我會說它與jscrambler的免費版本混淆程度相同。

相關問題