愤怒的小鸟已经在Chrome网上商店(http://chrome.angrybirds.com)上发布。
它们的JavaScript代码被混淆,看起来比我目前见过的任何JS混淆都要好。
我想知道他们使用的是什么或者是否有类似的东西。
愤怒的小鸟已经在Chrome网上商店(http://chrome.angrybirds.com)上发布。
它们的JavaScript代码被混淆,看起来比我目前见过的任何JS混淆都要好。
我想知道他们使用的是什么或者是否有类似的东西。
该代码似乎最初是用GWT编写的 - 这很有道理,因为Android上有一个版本,可能是用Java编写的...
然后使用Closure Compiler在高级模式下进行了优化(GWT支持此功能)。
编辑:糟糕!
不是高级模式。输出未通过Closure Compiler的高级模式进行优化。例如,诸如“null”之类的符号未像Closure混淆程序中那样被别名化。同时,“var J; var K;”这样的内容将被Closure缩短为“var J,K”。if语句仍然存在,但大多数情况下都会被编译器消除(替换为&&和||运算符以缩短代码)。也似乎没有对属性进行扁平化或虚拟化处理,这是Closure Compiler的标志性特点。
由于代码似乎没有使用JavaScript库 - 看起来是纯JavaScript与DOM访问,因此很难检查属性重命名。
它看起来像:GWT使用Closure Compiler的简单模式
它似乎已经被普通JavaScript代码缩小器缩小。看起来像Closure Compiler的简单模式,因为:
如果我没记错的话,根据Google IO以及源代码的查看,我很确定它是使用Google Web Toolkit编码的。
整个项目都是用Java编写的,然后编译和混淆成javascript。