chromium修改canvas颜色

chromium修改canvas颜色

简介

Canvas 指纹的原理主要基于 HTML5 Canvas 元素的渲染行为和性能差异。当浏览器渲染 Canvas 元素时,会涉及到图形渲染引擎的工作,
而不同浏览器、不同操作系统甚至不同设备的图形渲染引擎实现方式和性能特征可能会有细微差异,
这些差异可以用来生成一个唯一的标识符,也就是 Canvas 指纹

修改chromium源码

  1. 首先我们通过fingerprintjs源码,查看下生成canvas的源码

    我们通过 web开发指指南看下这个fillRect这个函数的参数详解

    那我们可以通过随机RGBA字符串颜色来随机改掉这个
    我们先准备一个C++ 里边获取随机种子函数
    #include <iostream>
    #include <cstring>
    #include <string>
    #include <vector>
    #include <algorithm>
    #include <time.h>
    #include <stdio.h>
    #include <stdlib.h>

    int randomW(int x) {
	    return rand() % x;
    }

    String GetColorList() {
	    srand((int)time(0));
	    String ColorList[] = {
		    "0x03000000",
		    "0x11111111",
		    "0x22222222",
		    "0x33333333",
		    "0x44444444"
	    };
	    return ColorList[randomW(5)];
    }

    String GetC() {
	    return GetColorList();
    }

把我们写好的随机种子函数,新建一个头文件引入项目中
我们通过打开E:\chromium\src\third_party\blink\renderer\modules\canvas\canvas2d\base_rendering_context_2d.cc 文件,修改如下

接下来我们开始编译

autoninja -C out\Default chrome

接下来我们看看效果:每次刷新颜色都会改变

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

独行侠-Wind

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值