愤怒的小鸟使用什么javascript混淆?

愤怒的小鸟使用什么javascript混淆?,javascript,obfuscation,Javascript,Obfuscation,愤怒的小鸟在chrome网上商店发布(http://chrome.angrybirds.com) 他们的javascript代码是模糊化的,似乎比我迄今为止看到的任何js模糊化都要好 我想知道是否有人知道他们使用了什么或者知道类似的东西。如果我没有记错的话,通过查看源代码,我几乎可以肯定它是使用Google Web Toolkit编写的 整个项目是用Java编码的,然后编译成javascript并进行模糊处理 它似乎最初是用GWT编写的——这是有道理的,因为有一个运行在Android上的版本可能

愤怒的小鸟在chrome网上商店发布(http://chrome.angrybirds.com)

他们的javascript代码是模糊化的,似乎比我迄今为止看到的任何js模糊化都要好


我想知道是否有人知道他们使用了什么或者知道类似的东西。

如果我没有记错的话,通过查看源代码,我几乎可以肯定它是使用Google Web Toolkit编写的


整个项目是用Java编码的,然后编译成javascript并进行模糊处理

它似乎最初是用GWT编写的——这是有道理的,因为有一个运行在Android上的版本可能是用Java编写的

然后在高级模式下使用闭包编译器进行优化(GWT支持这一点)

编辑:哦

不是高级模式。输出未经闭包编译器的高级模式优化。例如,诸如“null”之类的符号不会像闭包模糊程序中那样具有别名。此外,“var J;var K;”之类的内容将通过闭包缩短为“var J,K”。If语句仍然存在,编译器将主要消除这些语句(对于较短的代码,替换为&&和| |运算符)。闭包编译器的标志似乎也没有任何属性扁平化或虚拟化

很难检查属性的重命名,因为代码似乎没有使用JavaScript库——它看起来像是带有DOM访问权限的普通JavaScript

它的外观:在简单模式下使用闭包编译器的GWT

看起来它已经被一个普通的JavaScript缩微器缩小了。看起来像简单模式下的闭包编译器,因为:

  • 变量被重命名为“a”、“b”等——闭包编译器采用的一种做法
  • GWT也是一个Google框架
  • 模糊代码中的换行符并不常见,但可以在闭包编译器中找到

  • 这似乎真的是谷歌CC的缩小版。我想说,它与免费版本的模糊处理处于同一水平

    哇,我正在看代码呢!太疯狂了。。。要查看页面上的代码:Inspect元素,请转到其中的一个iframe body,您将看到几个脚本标记。右键单击,复制为html,粘贴到某个地方,您将看到它。我想知道你是否可以用这些代码在其他浏览器上运行它…糟糕。。只需打开,在Firefox中运行正常,ff上无车轮支撑。。在ie9上运行比chrome更平滑:P