【问题标题】:Could webassembly be a way to enforce drm?WebAssembly 可以成为强制执行 drm 的一种方式吗?
【发布时间】:2017-06-30 09:58:41
【问题描述】:

使用编译语言的想法可能是显着提高性能的好方法。

但是它可以用来设置一个drm吗?

例如:一些网站提供浏览器游戏,不希望源代码被他人使用。是否可以使用与游戏机制相关的 webassembly-script 来检测它是否在另一个站点上使用并锁定它,而无法反编译和绕过它?

我不想在这方面听起来像个海盗,但它可能与广告拦截用户有关,also block trackers

例如,当Audio Context Fingerprinting-script 在没有被检测到的情况下运行时,如何阻止它?

【问题讨论】:

  • 好问题! WASM + DRM 的承诺可能是版权所有者可以控制可以对其内容执行的操作,但它将允许创建支持所有 DRM 的完全开源浏览器,即使版权所有者懒得支持它们,只要因为这些浏览器支持 WASM。

标签: javascript google-chrome browser drm webassembly


【解决方案1】:

除了性能之外,Wasm 没有提供任何 Web 尚不具备的新功能。您将能够看到加载了哪些 Wasm 模块,您将能够看到被调用的内容,并且您可以检查并单步执行文本形式的 Wasm 代码 - 可以说,Wasm 代码并不比例如代码更晦涩难懂。缩小 asm.js 代码。此外,Wasm 只能通过调用 JavaScript 与浏览器和网页进行交互。

所以,不,网站将无法使用它在你背后做任何事情,除非以他们已经可以使用的方式。

【讨论】:

  • 我不明白...我认为您是在说,因为可以“检查并逐步通过文本形式的 Wasm 代码”,所以它不适合 DRM。但是不能用例如“检查并单步执行任何文本形式的 DRM 代码”。 GDB 并以符号形式查看机器指令?编译后的 C -> 二进制库如何提供比 C -> WASM “更好”的 DRM 保护?
  • “除了性能”...但是性能是关键!模糊的 Javascript 通常无法解密 Raspberry PI 上的实时 HiRes 视频,但 WASM 可能会随着时间的推移......
  • asm.js 是一个不亚于 Wasm 的 JS,并且还提供了接近原生的性能。两种语言可以做的事情之间存在数量上的差异,但是对于所讨论的目的而言,它太小而不能成为定性的。您可以应用于 Wasm 的任何 DRM 技术也可以应用于 JS。
猜你喜欢
  • 1970-01-01
  • 2012-09-06
  • 1970-01-01
  • 2018-02-11
  • 1970-01-01
  • 1970-01-01
  • 2017-12-30
  • 1970-01-01
  • 2012-11-17
相关资源
最近更新 更多