Проблема с HWID при активации

Добрый день.

При онлайн активации продукта возникает ошибка SERIAL_STATE_FLAG_BAD_HWID. Ошибка возникает только в x64 сборке и только на одном ноутбуке DELL XPS 13; x86 сборки активируются нормально. Воспроизводится на VMProtect 3.1.2.859 и 3.2.0.976.

Сненерированный HWID для этого ноутбука (одинаковый для x64 и x86):

nLjhdDVXlOvLSVyfKpdU/eryzmFmf2qa5nPpIPJf87FmKtI1Osf5khpaZHKyIosfXs6Dmw5sHmY=

Мы подозреваем, что у других наших пользователей могут возникнуть аналогичные проблемы с активацией.

А при этом какой HWID находится в серийнике?

Есть алгоритм как получить из серийного номера, который возвращает сервер активации, HWID продукта? Судя по документации серийник зашифрован ассиметричным ключем.

В GUI вмпротекта есть возможность импортировать серийник, далее посмотреть всю информацию из него в том числе и HWID

Для x64 из серийного номера извлекается такой HWID:

MH20e3XnL73XU3ja5kxR8daM4ocWD0P5Fl1bdkZoHY2ux25omokm0noyNv4eHamrElfgc/g9ov3wFuzJnPNGTWfP7z0=

Для x86 ID оборудования:

nLjhdDVXlOvLSVyfKpdU/eryzmFmf2qa5nPpIPJf87FmKtI1Osf5khpaZHKyIosf

Что совпадает с тем, что возвращает VMProtectGetCurrentHWID.

Первый HWID похож на мусор.

Это баг VMProtect? HWID извлекались через “Импортировать лицензию из серийного номера”.

В логах сервера надо смотреть какой HWID приходил на запрос активации с этого компьютера. В URL-е передается клиентский HWID.

Посмотрели логи: от клиента приходит запрос с правильным HWID

GET /activation.php?code=XXXX-XXXX-XXXX&hwid=nLjhdDVXlOvLSVyfKpdU%2feryzmFmf2qa5nPpIPJf87FmKtI1Osf5khpaZHKyIosfElfgc%2fg9ov3wFuzJnPNGTWfP7z0%3d&hash=...

Сервер в ответ возвращает серийный номер с другим HWID:

MH20e3XnL73XU3ja5kxR8daM4ocWD0P5Fl1bdkZoHY2ux25omokm0noyNv4eHamrElfgc/g9ov3wFuzJnPNGTWfP7z0=

При блокировании этого серийного номера в веб интерфейсе последующие активации проходят нормально, при разблокировке - возвращается ошибка.
Выглядит так, что сервер неправильно сопоставляет HWID.

Откуда у вас вообще взялся такой HWID в базе - вот в чем вопрос.

Активации с HWID MH20e3XnL.. выполнялись ранее с другого компьютера:

./access.log.41.gz: - - [23/May/2018:04:40:36 +0000] "GET /activation.php?code=...&hwid=MH20e3XnL73XU3ja5kxR8daM4ocWD0P5Fl1bdkZoHY2ux25omokm0noyNv4eHamrElfgc%2fg9ov3wFuzJnPNGTWfP7z0%3d&hash=
./access.log.41.gz: - - [23/May/2018:04:40:51 +0000] "GET /activation.php?code=...&hwid=MH20e3XnL73XU3ja5kxR8daM4ocWD0P5Fl1bdkZoHY2ux25omokm0noyNv4eHamrElfgc%2fg9ov3wFuzJnPNGTWfP7z0%3d&hash=
./access.log.41.gz: - - [23/May/2018:04:41:07 +0000] "GET /activation.php?code=...&hwid=MH20e3XnL73XU3ja5kxR8daM4ocWD0P5Fl1bdkZoHY2ux25omokm0noyNv4eHamrElfgc%2fg9ov3wFuzJnPNGTWfP7z0%3d&hash=
./access.log.33.gz: - - [30/May/2018:06:56:50 +0000] "GET /activation.php?code=...&hwid=MH20e3XnL73XU3ja5kxR8daM4ocWD0P5Fl1bdkZoHY2ux25omokm0noyNv4eHamrElfgc%2fg9ov3wFuzJnPNGTWfP7z0%3d&hash=
./access.log.33.gz: - - [30/May/2018:06:57:38 +0000] "GET /activation.php?code=...&hwid=MH20e3XnL73XU3ja5kxR8daM4ocWD0P5Fl1bdkZoHY2ux25omokm0noyNv4eHamrElfgc%2fg9ov3wFuzJnPNGTWfP7z0%3d&hash=
./access.log.33.gz: - - [30/May/2018:07:10:23 +0000] "GET /activation.php?code=...&hwid=MH20e3XnL73XU3ja5kxR8daM4ocWD0P5Fl1bdkZoHY2ux25omokm0noyNv4eHamrElfgc%2fg9ov3wFuzJnPNGTWfP7z0%3d&hash=
./access.log.33.gz: - - [30/May/2018:07:12:19 +0000] "GET /activation.php?code=...&hwid=MH20e3XnL73XU3ja5kxR8daM4ocWD0P5Fl1bdkZoHY2ux25omokm0noyNv4eHamrElfgc%2fg9ov3wFuzJnPNGTWfP7z0%3d&hash=
./access.log.33.gz: - - [30/May/2018:07:15:12 +0000] "GET /activation.php?code=...&hwid=MH20e3XnL73XU3ja5kxR8daM4ocWD0P5Fl1bdkZoHY2ux25omokm0noyNv4eHamrElfgc%2fg9ov3wFuzJnPNGTWfP7z0%3d&hash=
./access.log.33.gz: - - [30/May/2018:07:16:19 +0000] "GET /activation.php?code=...&hwid=MH20e3XnL73XU3ja5kxR8daM4ocWD0P5Fl1bdkZoHY2ux25omokm0noyNv4eHamrElfgc%2fg9ov3wFuzJnPNGTWfP7z0%3d&hash=
./access.log.42.gz: - - [22/May/2018:06:19:17 +0000] "GET /activation.php?code=...&hwid=MH20e3XnL73XU3ja5kxR8daM4ocWD0P5Fl1bdkZoHY2ux25omokm0noyNv4eHamrElfgc%2fg9ov3wFuzJnPNGTWfP7z0%3d&hash=

Непонятно, почему этот серийный номер возвращается при активации с других компьютеров.

Ещё раз сравнили запросы при активации для x86 и x64 версий защищаемого приложения. Для x64 HWID передается длинее, видимо это приводит к возврату невалидного серийного номера.
x86:

GET /activation.php?code=...&hwid=nLjhdDVXlOvLSVyfKpdU%2feryzmFmf2qa5nPpIPJf87FmKtI1Osf5khpaZHKyIosf%01%02+&hash=

x64:

GET /activation.php?code=...&hwid=nLjhdDVXlOvLSVyfKpdU%2feryzmFmf2qa5nPpIPJf87FmKtI1Osf5khpaZHKyIosfElfgc%2fg9ov3wFuzJnPNGTWfP7z0%3d&hash=

Добрый день, есть информация/прогресс по нашей проблеме? Может быть нужна дополнительная информация от нас?

Насколько я понимаю проблема решена с помощью блокировки лицензии. Или что-то еще осталось?

У нас стабильно воспроизводится проблема на новых лицензиях для x64 сборок. В x32 сборках такой проблемы нет, так как HWID обрезается в запросе к серверу.

Если первым активируется машина с длинным HWID, то остальные машины с длинным HWID при активации получают серийный номер от этой активации. Если у машины короткий HWID, то она получает новый серийный номер.

Примеры длинных HWID:

nLjhdDVXlOvLSVyfKpdU/eryzmFmf2qa5nPpIPJf87FmKtI1Osf5khpaZHKyIosfElfgc/g9ov3wFuzJnPNGTWfP7z0=
MH20e3XnL73XU3ja5kxR8daM4ocWD0P5Fl1bdkZoHY2ux25omokm0noyNv4eHamrElfgc/g9ov3wFuzJnPNGTWfP7z0=
MH20e8074M4bDTymNsRakiKCjJjGCKNtPkRJJXoBOPyejgcJ3qVS/s5oSNf+/74cElfgc/g9ov3wFuzJnPNGTWfP7z0=

Пример короткого HWID, где активация проходит нормально:

MH20e333C6w7BUwSSuToSqbKoyXOWv8CEoW7cErkviQmj3ozSh5ibaYiBRg=

HWID извлечены из серийных номеров при активации.

Можно попасть на компьютер, который выдает такие HWID?

Да, у нас есть доступ к этим машинам. Какую информацию необходимо с них собрать?

Тимвьювером можно зайти?

Проверяйте 995 билд.

Версия 3.2.0.995 исправляет проблему с активацией. Спасибо.