“zHlXsykzzzYDOFDEknQ2tkanjoU=” и “5BDK2SkzzzYPIjuVknQ2tkanjoU=” - это не серийные номера, а HWID, которые вы получаете через VMProtectGetCurrentHWID. Осталось понять как при этом используется VMProtectSetSerialNumber?
Здравствуйте.
Нет, пользоваться Api я умею.
Извините, была ночь и я по усталости и нервности перепутал названия функций…
Речь идёт о функции: “VMProtectGetCurrentHWID”.
Описываю ситуацию:
Клиент на своём компьютере запускает лаунчер.exe(Программу).
Он подключается к серверу авторизации через сокеты накрытые AES-256 шифрованием.
Во время подключения он передаёт следующие данные: Login, Password, IP, HWID.
Функция: “VMProtectGetCurrentHWID”;
На стороне сервера я должен сравнить его текущий HWID с тем HWID, который сохранен в базе.
Если HWID’ы совпадают - то пропускаю его дальше.
Система фильтров подключения по HWID.
Сверяю HWID’ы я не как строки, а разбиваю на части и сравниваю только CPU/HOST/HDD. (Ethernet меня не интересует)
P.S. → Проблема заключается в том, что если взять версию “2.13” и “3.0.9”, запустить на одном и том же компьютере - то HWID’ы будут разные. (VMProtectGetCurrentHWID)
Причем именно по составной базе!
Причем смена значение происходит только в блоках CPU и HDD!
Пример: (Один и тот же компьютер; Я осуществляю проверку только по: CPU/HOST/HDD)
Проблема в том, что вы стали использовать недокументированную структуру HWID в своих собственных целях. Если бы вы использовали HWID по его прямому предназначению при генерации конечных серийников, то у вас бы не возникло такой проблемы.
В любом случае вы не сможете “сконвертировать” новые HWID в старый формат, т.к. используются совершенно разные алгоритмы получения самих идентификаторов.