Javascript 重写toDataURL()、toBlob()和getImageData()

Javascript 重写toDataURL()、toBlob()和getImageData(),javascript,google-chrome-extension,html5-canvas,firefox-addon-webextensions,Javascript,Google Chrome Extension,Html5 Canvas,Firefox Addon Webextensions,我正在尝试开发一个web扩展,它可以保护人们免受浏览器指纹的侵害,目前我正在开发CanvasAPI。我需要“欺骗”或“伪造”从以下方法返回的图像数据,以防止: HTMLCanvasElement.toDataURL() HTMLCanvasElement.toBlob() CanvasRenderingContext2D.getImageData() 还有可能更多。。。但让我们从这些开始。我正在使用javascript原型覆盖方法。toDataURL()返回一个假输出,这很好,但是toBlob(

我正在尝试开发一个web扩展,它可以保护人们免受浏览器指纹的侵害,目前我正在开发CanvasAPI。我需要“欺骗”或“伪造”从以下方法返回的图像数据,以防止:

HTMLCanvasElement.toDataURL()

HTMLCanvasElement.toBlob()

CanvasRenderingContext2D.getImageData()

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

存储库已打开

这个文件包含我的代码,它试图在RGBA格式的数组中的每个字节中添加1。是的,我知道这很糟糕,只是为了测试。我将使用随机数作为真实值,但目前我只是试图让它返回一个不同于默认值的值,以便像素数据或图像数据的散列可以可能会有所不同


有什么想法吗???如果你需要更多的信息或不明白什么,请问我或让我知道。谢谢…

对不起,我不会去你的外部回购来检查你做错了什么。你可能知道一些扩展已经做了。你为什么不检查它们是如何做的?这是一个玩笑?我读过,但它们是真实的吗y跟踪,你的手指移动。这是他们的网站。它提供了什么?@PHPglue你知道隐私吗?任何移动都可以使用AJAX进行跟踪。无需使用画布来进行跟踪。这看起来是验证用户身份的一种很酷的方法。创建一些随机画布图像。将信息存储在服务器上,以测试你的移动,并查看你是否有问题机器人。@PHPglue这里提出的隐私问题是,只要您的浏览器指纹(从浏览器的许多方面包括用户代理、字体、插件、画布、音频堆栈等组合而成)保持不变,不同的网站可以在你在网站之间移动时“跟踪”你,也可以在你重新连接到以前访问过的网站时重新识别你,即使你没有登录。这允许广告和分析公司“重建”你的浏览历史,并出售或使用它向你做广告或向你出售物品。这是否意味着其他人你和否完全是另一回事。