目的

navigator.userAgent 是浏览器中最常被网站读取的属性之一,用于识别浏览器内核、版本、操作系统信息,甚至设备类型。它是构成浏览器指纹的关键字段,广泛应用于用户识别、设备分类、风控策略中。

通过伪造 User-Agent,可隐藏真实设备与浏览器信息,从而增强隐私保护与账号防关联能力。


教学目标

  • 了解 JS 层如何读取 User-Agent
  • 掌握在 Chromium C++ 层实现 User-Agent 指纹伪造的方式
  • 掌握 Easybr 浏览器如何通过参数配置实现动态替换

JS 获取 User-Agent

打开浏览器,按下 F12 进入控制台,输入以下代码查看当前浏览器 UA 信息:

navigator.userAgent

示例输出:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.3029.110 Safari/537.3

这条信息暴露了操作系统、位数、浏览器内核及版本,非常容易被网站用作唯一标识。


️ C++ 源码修改方法(Chromium 定制版)

在 Easybr 指纹浏览器中,User-Agent 可通过底层源码伪造,也可通过命令行或配置动态注入。

方式一:命令行注入(推荐)

--user-agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 13_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.5 Safari/605.1.15"

可通过配置启动参数或在 Easybr 环境配置中设置自定义 UA

方式二:源码层注入

修改文件:content/browser/renderer_host/render_process_host_impl.cc

伪代码参考:

std::string user_agent = base::Easybrparam::GetValue("navigator.userAgent");
if (!user_agent.empty()) {
command_line->AppendSwitchASCII(switches::kUserAgent, user_agent);
}

解释:

  • 使用 base::Easybrparam 从配置文件读取伪造的 UA 字符串;
  • 注入到 kUserAgent 启动参数;
  • 全局替换浏览器 UA 输出,包括 navigator.userAgent 与 HTTP 请求头。

测试网站推荐

验证 User-Agent 修改是否成功可以使用以下平台:


总结

通过伪造 navigator.userAgent,可以有效隐藏真实设备操作系统、浏览器类型与版本信息,是对抗指纹识别的重要手段。相比静态设置,Easybr 支持通过命令行参数或配置文件动态控制 User-Agent,更灵活适配多账号环境。

配合 Canvas、WebGL、Audio、语言、字体、分辨率等多项指纹模块伪造,能构建出完整且不可追踪的浏览器环境,广泛应用于跨境电商、广告营销、自动化运营等对隐私要求极高的场景。

7 指纹浏览器 User-Agent 指纹伪装教程的更多相关文章

  1. FingerprintJS - 在浏览器端实现指纹识别

    FingerprintJS 是一个快速的浏览器指纹库,纯 JavaScript 实现,没有依赖关系.默认情况下,使用 Murmur Hash 算法返回一个32位整数.Hash 函数可以很容易地更换. ...

  2. 火狐浏览器油猴子GreaseMonkey使用教程

    火狐浏览器油猴子GreaseMonkey使用教程 首先下载火狐浏览器 安装成功后用火狐浏览器打开链接,界面如下 然后搜索GreaseMonkey. 搜索结果,图标是个小猴子,然后添加到火狐浏览器,成功 ...

  3. 为什么浏览器User Agent中都有个mozilla

    你是否好奇标识浏览器身份的User-Agent,为什么每个浏览器都有Mozilla字样? Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 ...

  4. 修改浏览器的User-Agent来伪装你的浏览器和操作系统

    近期很多文章都提到了User-Agent (UA) 字符串,但大部分网友都不知道这个东西有什么用处.其实简单的说User-Agent就是客户端浏览器等应用程序使用的一种特殊的网络协议,在每次浏览器(邮 ...

  5. 设置两个div是总是不能重合,浏览器user agent stylesheet问题

    如图 两个div之间总是有一个空行,设置了margin为0还是没卵用,f12调试发现 多了一个user agent stylesheet样式,经百度是浏览器自带的样式 重新为div内的元素ul设置cs ...

  6. Google Chrome谷歌/火狐/Safari浏览器开发者工具基本使用教程

    前言 在阅读下面内容之前,那么些简单的了解浏览器开发者工具到底是什么东西,到底有什么用途. 浏览器开发者工具到底是什么? 其实简单的说,浏览器开发者工具就是给专业的web应用和网站开发人员使用的工具, ...

  7. 微信浏览器——User Agent

    在iPhone 返回 Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gec ...

  8. python之urllib.request.urlopen(url)报错urllib.error.HTTPError: HTTP Error 403: Forbidden处理及引申浏览器User Agent处理

    最近在跟着院内大神学习python的过程中,发现使用urllib.request.urlopen(url)请求服务器是报错: 在园子里找原因,发现原因为: 只会收到一个单纯的对于该页面访问的请求,但是 ...

  9. Chrome改动浏览器User Agent

    对浏览器快捷方式右键->改动目标项为 C:\Users\LJ\AppData\Local\Google\Chrome\Application\chrome.exe --user-agent=&q ...

  10. 各种浏览器的agent信息(IE Chrome Safari Firefox)

    Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/53 ...

随机推荐

  1. Linux - centos6.6升级openssh9.7p1

    一.注意事项 1.任何会被修改的配置文件都要提前备份 2.每一步操作都要记录 3.提前预演,知道可能遇到的问题,以及对应的解决方法,能够在生产环境上升级时,更快完成操作. 4.一开始用来操作的ssh会 ...

  2. Week09_day05(Hbase的介绍和工作原理)

    HBase是一个分布式的.面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文"Bigtable:一个结构化数据的分布式存储系统".就像Bigtable利 ...

  3. 如何使用ISqlSugarClient进行数据访问,并实现了统一的批量依赖注入

    仓储层当前有接口 IRepository<T> 抽象类  BaseRepository<T> 业务逻辑层有抽象类 BaseBusiness<M, E> 接口 IBu ...

  4. FastAPI Cookie 和 Header 参数完全指南:从基础到高级实战 🚀

    title: FastAPI Cookie 和 Header 参数完全指南:从基础到高级实战 date: 2025/3/9 updated: 2025/3/9 author: cmdragon exc ...

  5. zookeeper windows 安装

    下载 zookeeper 下载地址为: https://zookeeper.apache.org/releases.html. 选择一个地址点击版本下载: 配置 下载后解压到指定磁盘的 zookeep ...

  6. 带有可旋转摄像头的移动小车(urdf+rviz)

    博客地址:https://www.cnblogs.com/zylyehuo/ 成果图 step1:新建工作空间 mkdir -p catkin_ws/src cd catkin_ws catkin_m ...

  7. PVE常用命令

    1.查看集群下的节点信息 root@pve63-node172:~# pvecm nodes Membership information ---------------------- Nodeid ...

  8. VirtualBox 新建虚拟电脑时没有64-bit选项?

    好久没用VirtualBox了,没事下载了个准备看下新版的Ubuntu 16.04 & umake命令. 下载&安装完成,准备新建的时候,发现个问题:没有64-bit的选项? 目测了下 ...

  9. 学习Django【1】模型

    编辑 models.py 文件,改变模型. 运行 python manage.py makemigrations 为模型的改变生成迁移文件. 运行 python manage.py migrate 来 ...

  10. HTB打靶记录-Vintage

    信息收集 nmap -sV -sC -O 10.10.11.45 Nmap scan report for 10.10.11.45 Host is up (2.1s latency). Not sho ...