Эмуляция железа ломается не в графике, а в согласованности ядра, RAM и GPU
Разберем энтропию данного параметра: антифрод редко смотрит на один флаг. Он сопоставляет число логических ядер, объем памяти и класс видеокарты с остальными слоями отпечатка — таймингами JS, WebGL-рендером, медиаметриками и поведением CSS media queries. Если CPU «топовый», а GPU отрисовывает профиль офисного ноутбука, профиль становится шумным.
Практика здесь простая:
— ядра должны быть правдоподобны для заявленной ОС и форм-фактора;
— память не должна конфликтовать с типом устройства и паттерном мультитаскинга;
— видеокарта обязана совпадать с WebGL vendor/renderer, шрифтами и объемом видеопамяти, который косвенно читается через графические API.
Под капотом Chromium API это одна связка, а не три независимых поля.
Частая ошибка — подмена только navigator.hardwareConcurrency и deviceMemory. Это дает косметический эффект, но оставляет следы в других каналах: Canvas, AudioContext, navigator.gpu, параметрах рендеринга и latency-профиле. Спуфинг через инъекцию JS-кода без выравнивания системного уровня обычно ловится на корреляции.
Для проверки полезен не один сервис, а связка: CreepJS, BrowserLeaks, Pixelscan. Смотрите не «проходит/не проходит», а где расходятся данные: сколько доступно RAM, какой renderer у WebGL, как ведет себя fallback при отключении ускорения, совпадает ли модель GPU с классом устройства.
Вывод один: эмуляция аппаратных характеристик работает только как согласованный профиль, где ядра, память и видеокарта не спорят между собой и с остальным отпечатком.
Антидетект: эксперт
@antidetect_expert_arb
Эмуляция железа ломается не в графике, а в согласованности ядра, RAM и GPU
Этот пост опубликован в Telegram-канале Антидетект: эксперт. Подписаться можно по ссылке: @antidetect_expert_arb.