6 指纹浏览器 CPU 核心数伪装教程
目的
navigator.hardwareConcurrency 可用于获取当前设备的 CPU 逻辑核心数量。这一信息常被用于识别用户设备等级或作为浏览器指纹的一部分参与反欺诈系统分析。
通过伪造该信息,可以有效隐藏真实硬件配置,增强浏览器的防关联与隐私保护能力。
教学目标
- 了解 JS 层如何读取 CPU 核心数
- 掌握 Chromium C++ 层源码修改方式,实现 CPU 指纹伪造
JS 获取核心数
打开浏览器,按下 F12 进入控制台,输入以下代码查看当前系统的逻辑核心数:
navigator.hardwareConcurrency
示例输出:
20
这说明你当前设备为 20 核心 CPU(高并发服务器可能存在此情况),这类信息极易被用于唯一化识别,因此需伪造。
️ C++ 源码修改方法(Chromium 定制版)
在 Easybr 指纹浏览器中,我们通过修改 Chromium 源码内的相关模块来实现该参数的伪造。
修改位置示例:
navigator_concurrent_hardware.cc
unsigned NavigatorConcurrentHardware::hardwareConcurrency() const {
// ebb
base::Easybrparam param;
std::string device_concurrency = param.GetValue("hardware.concurrency");
if (!device_concurrency.empty()) {
int value = std::stoi(device_concurrency);
return static_cast<unsigned>(value);
}
// ebb end
return static_cast<unsigned>(base::SysInfo::NumberOfProcessors());
}
解释:
base::Easybrparam:为 Easybr 内部参数获取类,可从配置文件或命令行读取设置值。- 若用户设置了
navigator.hardwareConcurrency=8,则返回伪造后的 8 核; - 否则默认使用系统真实核心数。
测试网站推荐
验证修改是否生效可通过以下平台:
- https://browserleaks.com/javascript
- https://amiunique.org/fp
- https://ebrower.com/easybrpcclass/gongnengjishu.html
- https://gongjux.com/fingerprint/
总结
通过伪造 navigator.hardwareConcurrency,我们能有效隐藏真实设备的处理器核心数,避免被用于浏览器指纹识别与设备关联分析。这一参数常与内存、显卡、WebGL、Canvas、Audio 等多个指纹模块联合使用,构成完整的设备画像。
结合 Easybr 提供的底层参数注入机制,可轻松实现定制化的 CPU 指纹配置,并通过浏览器参数/配置文件控制,无需重新编译,灵活易用,适用于跨境电商、账号运营、反检测等高匿名场景。
6 指纹浏览器 CPU 核心数伪装教程的更多相关文章
- 使用GetLogicalProcessorInformation获取逻辑处理器的详细信息(NUMA节点数、物理CPU数、CPU核心数、逻辑CPU数、各级Cache)
不过必须XP SP3以上才行.所有API大全: https://msdn.microsoft.com/en-us/library/windows/desktop/aa363804(v=vs.85).a ...
- using 40 logical processors based on SQL Server licensing SqlServer CPU核心数限制问题
公司服务器是120核心cpu,但是实际应用中只有40核,原因是业务部门发现服务器cpu承载30%的时候sql 就会卡死: 然后从sqlserver 去查询,cpu核心数: SELECT COUNT(1 ...
- Nginx 关于进程数 与CPU核心数相等时,进程间切换的代价是最小的-- 绑定CPU核心
在阅读Nginx模块开发与架构模式一书时: "Nginx 上的进程数 与CPU核心数相等时(最好每个worker进程都绑定特定的CPU核心),进程间切换的代价是最小的;" &am ...
- 如何查看服务器CPU核心数和线程数
知道服务器CPU型号,那么我们如何在服务器里面查看服务器CPU核心数和线程数呢? 步骤: 先用鼠标右键点击屏幕最下方的任务栏空白处.会弹出一个菜单. 在菜单中用鼠标左键点选“启动任务管理器”. 点击任 ...
- 查看电脑CPU核心数的方法
查看电脑CPU核心数的方法: 方法一: 同时按下[Ctrl+Shift+Esc]组合快捷键打开任务管理器: 点击[性能]就可以看出是几核CPU了: 方法二: 在计算机图标上面点击右键,选择“管理”: ...
- Android下设置CPU核心数和频率
现在的Android手机双核.四核变得非常普遍,同时CPU频率经常轻松上2G,功耗肯定会显著增加.而大多数的ARM架构的CPU采用的是对称多处理(SMP)的方式处理多CPU.这就意味着每个CPU核心是 ...
- 物理CPU数、CPU核心数、进程数
参考CSDN博客:https://blog.csdn.net/helloworld0906/article/details/90547159 一. 物理cpu数.cpu核数.线程数(逻辑cpu数)的关 ...
- 根据CPU核心数确定线程池并发线程数(转)
一.抛出问题 关于如何计算并发线程数,一般分两派,来自两本书,且都是好书,到底哪个是对的?问题追踪后,整理如下: 第一派:<Java Concurrency in Practice>即&l ...
- 如何获取 Android CPU 核心数 (Java/C++)
1 前言 最近学习Power HAL方面相关知识,透过Power HAL 去配置CPU的Freq需要先确定 CPU 核数.便先了解如何获取 Android CPU 核数. 2 Java层获取方式 // ...
- 转 根据CPU核心数确定线程池并发线程数
转自: https://www.cnblogs.com/dennyzhangdd/p/6909771.html?utm_source=itdadao&utm_medium=referral 目 ...
随机推荐
- Hive - [08] 数据仓库物理模型设计
分区 分区是将表的数据按照某个列的值进行划分和存储的一种方式.通过分区,可以将数据按照特定的维度进行组织,提高查询效率和数据管理的灵活性. 一.分区的优势 提高查询性能:通过分区,可以将数据按照特定的 ...
- Windows下快捷方式 (*.lnk) 的使用技巧整理
日常应用中,许多软件都会在安装过程最后一步添加多个命令,针对其应用创建快捷方式发送到桌面以及快速启动栏和开始菜单,供人们快速找到并打开.在我的使用习惯中也会将诸多常用的应用右键-发送到-桌面快捷方式来 ...
- 大数据之路Week10_day04 (Hbase的二级索引,二级索引的本质就是建立各列值与行键之间的映射关系)
二级索引的本质就是建立各列值与行键之间的映射关系 HBASE是在hadoop之上构建非关系型,面向列存储的开源分布式结构化数据存储系统. Hbase的局限性: HBase本身只提供基于行键和全表扫描的 ...
- php 获取post方法payload(json)形式参数的方法
用默认get方式传递的时候,接收方式没有改变,仍然是$_GET. 但是用post方式传递数据的时候,用$_POST无法接收数据,应为小程序默认post发送的content-type为applicati ...
- 基于PHPstream扩展手动实现一个redis客户端
描述 redis是一个经典的key-value缓存数据库,采用C/S架构.当我们安装成功以后,你就知道它有个服务端,启动后默认监听6379端口,然后提供一个客户端工具redis-cli. 我们可以使用 ...
- [tldr] vscode的remote插件的config文件内容解析
参考VS Code Remote SSH配置 解决了什么问题 vscode的remote插件可以直接通过可视化的UI新建一个连接 通过ssh指令添加服务器的连接方式 但是这种方式添加的服务器名字等于服 ...
- linux安装protoc
protobuf 是做什么的? 专业的解答: Protocol Buffers 是一种轻便高效的结构化数据存储格式,可用于结构化数据串行化,很适合做数据存储或 RPC 数据交换格式.它可用于通讯协议. ...
- 【VMware VCF】解决 VCF 环境中组件用户密码过期问题。
由于长时间没有启动 VCF 环境,现在在启动 SDDC Manager 组件后,UI 一直处于如下图所示的"初始化"状态.当时第一直觉就认为肯定是 VCF 环境组件的用户密码过期了 ...
- Python 潮流周刊#94:如何解决 FastAPI 的大文件传输问题?(摘要)
本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...
- [每日算法 - 华为机试] LeetCode 475. 供暖器
入口 力扣https://leetcode.cn/problems/heaters/submissions/ 题目描述 冬季已经来临. 你的任务是设计一个有固定加热半径的供暖器向所有房屋供暖. 在加热 ...