С момента появления CUDA NVIDIA встроила в каждую видеокарту уникальный UUID. Он доступен через nvidia-smi и через WMI как NVAPI_GPU_UUID. AMD сделала то же самое для GPU начиная с RDNA1.
Этот идентификатор — мечта анти-чита: он не меняется при переустановке драйверов, переустановке Windows и даже при перепрошивке VBIOS. Только физическая замена карты.
Тем не менее на программном уровне его можно подменить через драйвер-фильтр или через перехват NVAPI/ADL. HWIDChanger 3.x умеет это для всех NVIDIA и AMD карт начиная с GTX 900 / RX 400.
Для Intel Arc и интегрированных GPU подмена работает иначе — через изменение PCI Subsystem ID. Это требует более глубокой работы с реестром, но результат тот же: приложения видят «новую» видеокарту.
