谷歌在这方面让我失望了。
假设我有一些 ECMA 脚本,我使用 Open Source Flex SDK 中的编译器将其编译为 ABC 字节码文件。
我是否在使用条款范围内(我似乎找不到)使用 adobe 的 AVM2 规范为这个文件创建一个新的解释器?
我能做到的最好的是维基百科中的一句话,说闪存规范“无限制”可用。不过,我不是在制作 Flash 播放器,而且 AVM2 规范与 SWF 规范是分开的。
有人知道我的意图是否合法吗?
谷歌在这方面让我失望了。
假设我有一些 ECMA 脚本,我使用 Open Source Flex SDK 中的编译器将其编译为 ABC 字节码文件。
我是否在使用条款范围内(我似乎找不到)使用 adobe 的 AVM2 规范为这个文件创建一个新的解释器?
我能做到的最好的是维基百科中的一句话,说闪存规范“无限制”可用。不过,我不是在制作 Flash 播放器,而且 AVM2 规范与 SWF 规范是分开的。
有人知道我的意图是否合法吗?
Adobe 将 ActionScript 虚拟机作为一个名为Tamarin的 Mozilla 项目在 MPL/GPL/LGPL 三重许可下开源。如果我没记错的话,这个源代码还包括 ABC 字节码的文档。考虑到这一点,在我看来,您可以自由地构建自己的解释器。
您当然可以自由解释 ActionScript 字节码;关于他们的开源项目(和开放文档)的精彩部分是,您可以阅读可靠的参考手册和实施,而不受它的限制(没有 NDA,等等)。这与黑暗时代形成鲜明对比,在黑暗时代,字节码必须在“洁净室”环境中进行逆向工程。
我想指出 Thatcher Ulrich 和公司的非常好的公共领域项目,题为:GameSWF。它包括一个 ActionScript 字节码解释器以及许多其他非常好的东西。
它与 Tamarin 大不相同,因为它不建立 cpu 操作的缓存,它更简单,它使用 switch 语句。这意味着它在重型循环上的运行速度会比 Tamarin 慢。
GameSWF 正在积极开发中,可在 sourceforge 上的 tu-testbed 项目下使用。