也就是说,一方面,预编译的代码更难阅读,因此更难以有意义地更改浏览器代码。

它如何比 JS 更“沙箱化”,这是否使它更不容易被破解?

“WebAssembly 被指定在安全的沙盒执行环境中运行。” - https://developer.mozilla.org/en-US/docs/WebAssembly/Concepts

WASM VM 内存格式是否具有使其更抗客户端黑客攻击的特性?

还要别的吗?

最佳答案

WebAssembly 从来没有被设计为比 JavaScript 更不易破解。 WebAssembly 模块在浏览器中运行,可以像任何其他 JavaScript 应用程序一样进行检查和调试。他们提供的唯一额外保护是混淆。这是一种较低级别的语言,这使得破译密码变得更加困难——尽管这不是一种强有力的保护!

WebAssembly 模块是沙盒化的,因为一个模块无法访问内存或与另一个正在运行的模块交互。他们有自己独立的执行环境。 JavaScript 也被沙箱化,以防止一个选项卡或页面中的代码与另一个选项卡或页面交互——更重要的是防止它访问底层主机操作系统!

Webassembly 使用线性内存,这是一个连续的内存块,通常用于创建堆。它可以导出到宿主环境,这意味着宿主 JavaScript 代码可以直接读取和写入它作为字节数组。

总而言之,WebAssembly 的可破解性并不低,并且具有不同的沙箱。如果这些是您正在研究这项技术的火车,也许是时候重新考虑一下了?

关于webassembly - WebAssembly 如何促进更不易破解/更无需信任的浏览器代码执行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56766674/

10-12 06:53