1. 浏览器指纹中的 API 是什么

在浏览器指纹识别中,“API” 指的是 JavaScript 接口和方法输出 的集合,这些可以唯一对应不同的浏览器、版本、扩展、限制,甚至系统特定行为。

示例包括:

  • navigator.mediaDevices
  • navigator.getBattery()
  • window.RTCPeerConnection
  • CanvasRenderingContext2D
  • WebGLRenderingContext
  • AudioContext

这些 API 暴露:

  • 支持的功能
  • 可用特性
  • 是否启用或被修改
  • 确定性但敏感的返回值 — 这使得它们可被利用用于 浏览器识别

基于 API 的指纹识别策略通常桥接 硬件检测软件环境 之间的差距,特别是在像 fingerprintjs.com 这样的站点工具、大型广告平台或反爬虫工具中使用 JS API 内省 来检测自动化和欺骗。


2. 平台如何检测 API 指纹

每个 API 不仅暴露表面级别的功能集,还暴露内部执行结果或 toString() 痕迹。API 指纹检测中最常用的方法包括:

  1. 函数覆盖检测:真实浏览器返回原生函数如 CanvasRenderingContext2D.prototype.fillText.toString()'[native code]'。检测覆盖方法的工具可能会标记欺骗或掩码的 API。
  2. DOM API 刻板印象:像 navigator.userAgentwindow.chrome 这样的 API 响应可能会被检查预期模式 — 即使跨平台或上下文。
  3. API 可访问性映射:平台审计哪些 API 是可访问的、非空的,或返回缓存/系统特定数据,以构建“规范浏览器行为模型”。
  4. 系统行为反射
  • AudioContext.sampleRate 可能反映真实音频输出能力。
  • window.devicePixelRatio 可能与显示/视口相关的欺骗进行交叉检查。
  1. API 实例签名:每个 API 实例(例如 new AudioContext())可能会生成细微的随机性或唯一结构化的上下文,这些被用于指纹识别。

网站可以通过组合多个 API 调用的结果来构建 高效指纹模型,以增强对用户身份的信心,尤其是在程序化广告、KYC 验证和 SaaS 安全等场景中。


3. FlashID 如何掩码 API 指纹

FlashID 在 JavaScript API 表面层 进行干预,不仅允许欺骗值,还允许整个 浏览器暴露的 API 行为语义树

FlashID 的 API 掩码包括:

  1. 原生代码模拟
  • 它用返回 'function fillText() { [native code] }' 的桥接替换覆盖函数如 fillTextgetCurrentPosition,欺骗许多基本检测系统。
  1. 选择性 API 访问控制
  • FlashID 允许按配置文件自定义哪些 API 应显示为 支持受限失败用模拟响应掩码
  1. 实例级 API 一致性
  • 每个 API — 即使在会话恢复时 — 都会持久化行为,以确保 跨配置文件的可重现性
  1. 自定义栈注入与 ToString 欺骗
  • toStringTagSymbol.toStringTagtarget 来源被覆盖以保持连贯性。
  1. 事件一致性和回调模拟
  • FlashID 确保异步和基于事件 API 模式感觉 合理,而不是脚本化的。
  1. 跨配置文件 API 差异
  • 即使在同一机器上运行,每个配置文件的行为也不同。这确保了 API 多样性,这对多账户安全至关重要。
  1. 现代 API 的拦截层
  • 支持拦截和掩码正在进行的 API 如 MediaCapabilitiesDeviceInfo 等。

FlashID 不仅仅欺骗单个值 — 它为每个活动会话构建 完全合理的浏览器身份模型,帮助用户在应用 API 指纹关联的平台中保持 功能性和不可检测


您可能还喜欢

FlashID blog avatar image
运行多个帐户,不受封禁和屏蔽
免费试用

多账户安全防护,从 FlashID 开始

通过我们的指纹技术,保持不被追踪。

多账户安全防护,从 FlashID 开始