弄乱Firefox Javascript解释器有多容易
how easy is it to mess with Firefox Javascript interpreter?
由于Firefox是开源的,理论上我应该有可能破解解释器的行为。比方说,也许我可以构建自己的分析器,或者对浏览器中允许和不允许的javascript行为引入更细粒度的限制。或者别的什么……
那么这种事情在实践中有多容易呢?这是可以通过某种插件实现的吗?或者我需要重新编译解释器源代码吗?或者重新编译整个浏览器?
无论如何解释器源代码有多大?对于一个在大学里做过玩具编译器的人来说,这是一件很难理解的事情吗?
如果您只使用解释器,那么情况还不算太糟。如果您想同时处理两个jit,那么显然需要更多的工作。在代码大小方面,看起来我们谈论的是180k行代码(头文件和c++文件),不包括regexp引擎和jits。
理解解释器并没有那么糟糕;首先,在http://developer.mozilla.org上有很多文档,irc.mozilla.org
上的#jsapi
频道的人们通常很乐意回答问题。
如果您想在不过多干扰系统的情况下进行分析,那么您可能需要破解源代码。对于支持特性方面的实验,我怀疑您希望使用https://mozillalabs.com/zaphod/。
Firefox JS引擎叫做SpiderMonkey。你可以在这里找到相关信息:http://www.mozilla.org/js/spidermonkey/
我没有看太多,但它是用C写的,看起来很容易访问。
相关文章:
- 为什么这在IE中的工作方式与在Firefox中不同
- JS可以在Chrome中工作,但不能在Firefox中工作
- javascript解释器如何理解变量的数据类型
- createElement("a") - FireFox JavaScript
- 为什么javascript:void(0)在Firefox中不起作用
- Facebook登录按钮没有'不能在Firefox上工作
- jpm的默认Firefox路径没有'不起作用
- 重载JS'firefox中的对象原型
- Ajax调用在Firefox中不会自动响应
- JS在firefox中无法正常工作
- firefox插件和dev/panel之间的通信
- IE/Chrome中未定义的函数,但Firefox中没有
- ascii输入键通过firefox中的javascript返回0
- 在firefox和chrome中的左侧显示iframe滚动条
- html5 drawImage适用于firefox,而不是chrome
- angularjs$valid-on-dates在firefox中报告错误
- 您可以使用JavaScript和Firefox扩展来更改现有页面吗
- Firefox javascript解释器或Firebug跳过行
- 我可以将Firefox中的javascript解释器用作js shell吗
- 弄乱Firefox Javascript解释器有多容易