Программа имеет триал 30 дней. Очевидно, проверка происходит по железу, так как на чистой системе программа подцепила действующий триал. Точно не по ip или mac-адресу и не по серийнику диска (уже пробовал). Какие еще варианты?
Если бы нужно было бы привязываться к оборудованию пользователя, я бы использовал бы идентификатор материнской платы UUID (в windows с помощью WMI в linux dmidecode)
Виртуальная машина конечно позволит скрыть аппаратный идентификатор и в общем случае нет способов добраться до реального железа, но можно ввести соответствующий запрет на это.
p.s. можно потребовать доступ к реальному GPU (в виртуальную машину его можно пробросить) там тоже есть UUID и LUID (вопрос исследования) эти данные наверняка можно получить даже с помощью браузера (это та еще песочница но gpu обычно дают доступ что бы видео крутилось)
Да, виртуалка сработала. Не понимаю, почему мне это не пришло в голову раньше. Думаю, раз в месяц создавать новую виртуалку будет проще и безопаснее, чем постоянно шить биос)