- 主页 > 生活百科 > >
通过浏览器打开页面时执行js脚本 改变浏览器“指纹”( 二 )
var noisify = function (canvas, context) { if (context) { const shift = { 'r': Math.floor(Math.random() * 10) - 5, 'g': Math.floor(Math.random() * 10) - 5, 'b': Math.floor(Math.random() * 10) - 5, 'a': Math.floor(Math.random() * 10) - 5 const width = canvas.width; const height = canvas.height; if (width && height) { const imageData = https://www.isolves.com/it/cxkf/yy/js/2022-09-21/getImageData.Apply(context, [0, 0, width, height]); for (let i = 0; i < height; i++) { for (let j = 0; j < width; j++) { const n = ((i * (width * 4)) + (j * 4)); imageData.data[n + 0] = imageData.data[n + 0] + shift.r; imageData.data[n + 1] = imageData.data[n + 1] + shift.g; imageData.data[n + 2] = imageData.data[n + 2] + shift.b; imageData.data[n + 3] = imageData.data[n + 3] + shift.a; window.top.postMessage("canvas-fingerprint-defender-alert", '*'); context.putImageData(imageData, 0, 0); Object.defineProperty(HTMLCanvasElement.prototype, "toBlob", { "value": function () { noisify(this, this.getContext("2d")); return toBlob.apply(this, arguments); Object.defineProperty(HTMLCanvasElement.prototype, "toDataURL", { "value": function () { noisify(this, this.getContext("2d")); return toDataURL.apply(this, arguments); Object.defineProperty(CanvasRenderingContext2D.prototype, "getImageData", { "value": function () { noisify(this.canvas, this); return getImageData.apply(this, arguments); document.documentElement.dataset.cbscriptallow = true; inject();【通过浏览器打开页面时执行js脚本 改变浏览器“指纹”】
推荐阅读
-
360kuai|看她如何神奇得分?,中国女排自由人林莉职业生涯居然有8分进账
-
-
电影|上影节现场 | 85岁的老戏骨,为何连1张报纸都不放过?
-
-
有关非电类工科转CS,应届留学申请者,职业生涯规划求解
-
贝塔Beta看比赛|韩国网友热议LGD击败LGC:2队都很菜!这真的是世界赛水平吗?
-
纹身|在脸上纹身的神秘部落,原因竟是故意变丑,避免被人掳走
-
黄貂鱼|美国男子海中戏水,结果被晒伤,全身通红如同被煮熟,网友炸了
-
女王时尚穿搭|四五十岁的女人穿风衣时,尽量少搭这4款鞋子,不仅显矮还掉档次
-
小五分享美食:美食分享:滑鸡煲仔饭,美味又简单,民族特色美食
-
连连跨境|亚马逊平台出现一大波争议产品!网友大呼收益应该捐赠
-
武国鉴|一架印军机又突然坠毁,军官当场摔死,印度边境士兵刚举枪自尽
-
-
-
-
-
体育课代表韩梅|NBA发新备忘录严查新冠丨全球体育疫情早报,西班牙人保级仅存理论可能
-
第一财经|财经夜行线0703丨资金押注经济复苏 几张图看A股“牛势”风向标
-
阿里巴巴|阿里巴巴21年前的招聘广告已能看出其先见之明!
-