覆盖toDataURL(),toBlob()和getImageData()

时间:2017-04-26 04:39:13

标签: javascript google-chrome-extension html5-canvas firefox-webextensions

我正在尝试开发一个可以保护人们免受浏览器指纹识别的Web扩展,而我目前正在使用canvas API。我需要“欺骗”或“伪造”从以下方法返回的图像数据,以防止canvas fingerprinting

HTMLCanvasElement.toDataURL() - toDataURL() Documentation

HTMLCanvasElement.toBlob() - toBlob() Documentation

CanvasRenderingContext2D.getImageData() - getImageData() Documentation

可能更多......但是让我们从这些开始吧。我正在使用javascript原型来覆盖方法。 toDataURL()返回一个假的输出,但是很好的toBlob()和getImageData()都返回相同的值,这也是真正的输出,而不是我想要的:(

存储库位于github

canvas.js文件包含我的代码,该代码尝试将1加到RGBA格式的数组中的每个字节。是的,我知道这很糟糕,仅用于测试。我将使用随机数作为真实的东西,但目前我只是想让它返回一个与默认值不同的值,以便像素数据或图像数据的散列不同。

任何想法???如果您需要其他信息或不理解某些事情,请询问我或告诉我。谢谢......

0 个答案:

没有答案