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

时间:2011-05-12 07:31:07

标签: javascript obfuscation

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

他们的javascript代码被混淆了,它似乎比我到目前为止看到的任何js混淆都好。

我想知道是否有人知道他们使用或知道可比较的东西。

3 个答案:

答案 0 :(得分:5)

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

然后在高级模式下使用Closure Compiler进行优化(GWT支持)。

编辑:OOOPS!

非高级模式。 Closure Compiler的高级模式优化了输出 NOT 。例如,诸如“null”之类的符号在Closure-obfuscated程序中没有别名。此外,像“var J; var K;” Closure将缩短为“var J,K”。 If语句仍然存在,编译器将主要消除它们(替换为&&和||运算符以获得更短的代码)。似乎还没有完成属性或虚拟化的任何扁平化,这是Closure Compiler的标志。

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

它看起来像:在简单模式下使用封闭式编译器实现GWT

看起来它已经被普通的JavaScript缩小器缩小了。在简单模式下看起来像Closure Compiler,因为:

  1. 变量被重命名为“a”,“b”等 - 闭包编译器采用的做法
  2. GWT也是Google框架
  3. 混淆代码中的换行符并不常见,但可以在Closure Compiler
  4. 中找到

答案 1 :(得分:3)

这似乎是Google CC的缩小。我会说它与jscrambler的免费版混淆处于同一级别。

答案 2 :(得分:2)

如果我从Google IO中正确记得,并通过查看源代码,我几乎可以肯定它是使用Google Web Toolkit进行编码的。

整个项目用Java编码,然后编译并混淆为javascript。