百趣云 百趣云的博客

🔖设备指纹

博主
百趣云
18小时前 · NEW!
字体指纹:你装了什么字体,你就是谁设备上安装的字体列表是高度个性化的指纹:设计狮的电脑装满字体,普通用户是系统默认,虚拟机/云手机的字体列表则"干净"得可疑。检测原理(侧面测量法):JS 不能直接枚举字体,但能"测量"——用不同字体渲染同一文本,测渲染尺寸。字体存在则尺寸变化,不存在则回退默认字体尺寸:function detectFont(fontName) { var baseFonts = ['monospace', 'sans-serif', 'serif']; var testString = 'mmmmmmmmmmlli'; var span = docum
博主
百趣云
20小时前 · NEW!
WebGL 指纹的两类信息WebGL 给网页暴露了 GPU 的访问能力,风控从两个层面收集指纹:第一类:参数信息(静态指纹)var canvas = document.createElement('canvas'); var gl = canvas.getContext('webgl'); // 基础参数 gl.getParameter(gl.VENDOR); // "WebKit" gl.getParameter(gl.RENDERER); // "WebKit WebGL" gl.getParameter(gl.VERSION);
博主
百趣云
20小时前 · NEW!
为什么要知道 App 接了哪家风控逆向一个 App 的协议,第一步不是找签名算法,而是确认它接了哪家风控 SDK——不同厂商的采集策略、检测点、对抗难度差异巨大,打法完全不同。识别方法很简单,jadx 搜包名:数美:com.ishumei / smid 参数顶象:com.dingxiang / dx 前缀 / constId 参数同盾:cn.tongdun / blackbox 参数三家对比数美(Shumei)核心产物:smid(设备 ID),接口里常见 smid、smDeviceId 参数采集特点:设备硬件信息全,传感器、电池等行为字段多检测强度:模拟器/root 检测中等,Frida 检测
博主
百趣云
21小时前 · NEW!
Canvas 指纹的原理:渲染差异即身份Canvas 指纹利用一个朴素的事实:同一段绘图代码,在不同硬件/系统/浏览器上渲染出的像素有微小差异。差异来自 GPU 渲染管线、字体渲染引擎、抗锯齿算法、色彩管理——这些因素组合起来,几乎能唯一标识一台设备。风控 JS 的标准做法:function getCanvasFingerprint() 同型号同系统的两台手机,这个 hash 大概率相同;不同显卡的两台电脑,几乎必然不同。逆向视角:先确认它采没采、采了什么分析一个风控 SDK 是否采集 canvas 指纹,hook 两个 API:// hook toDataURL const origToDa
博主
百趣云
1天前 · NEW!
设备指纹的本质:稳定 + 唯一的"设备画像"风控 SDK(数美、顶象、同盾、腾讯防水墙)的核心产品是设备指纹——给每台设备算一个唯一 ID,让"换账号不换设备"的批量行为无所遁形。理解它的采集清单,才知道改机要改到什么程度。设计约束决定采集思路:单个字段都不够唯一(机型一样的手机千千万),所以采集 30+ 个字段做联合哈希。字段选择遵循两个原则:稳定性(不能重启就变)和区分度(不同设备尽量不同)。采集清单分类拆解硬件层(区分度高,改机难度大):CPU 型号/核心数/频率 /proc/cpuinfo 内存大小 /proc/meminfo 屏幕分辨率