У меня есть юзкейс, когда лицензию использующую running time limit и полученную через встроенную систему лицензирования нужно продлевать каждые несколько часов (каждый раз стучать к серверу активации).
Однако как выяснилось, time limit ведёт отсчёт с момент запуска программы, и задание нового serial number не ведёт к сбросу точки отсчёта.
Является ли это чем-то, что может быть исправлено/улучшено в vmprotect, или это лучше реализовать на стороне своего кода?
Если второе - то есть ли в vmprotect возможность сделать так, чтобы текущее состояние VMProtectGetSerialNumberState перешло в невалидное?
Я так понимаю сейчас VMProtectSetSerialNumber невалидные номера отвергает без изменения внутреннего состояния, и в качестве решения я думаю делать для деактивации вызов VMProtectSetSerialNumber с серийным номером в блеклисте.
У меня есть юзкейс, когда лицензию использующую running time limit и полученную через встроенную систему лицензирования нужно продлевать каждые несколько часов (каждый раз стучать к серверу активации).
Очень странный кейс если честно.
Однако как выяснилось, time limit ведёт отсчёт с момент запуска программы, и задание нового serial number не ведёт к сбросу точки отсчёта.
“Running Time Limit” изначально был предназначен именно для ограничения работы программы (например для реализации триала и т.п.) и он никак не привязан к моменту вызова VMProtectSetSerialNumber.
Если второе - то есть ли в vmprotect возможность сделать так, чтобы текущее состояние VMProtectGetSerialNumberState перешло в невалидное?
Своеобразная форма Always-on DRM, однако согласен что в vmprotect система лицензирования не совсем для этого предназначена.
Было бы неплохо если бы была какая-то возможность на лету расшифровывать байткод виртуальных машин самого vmp, однако в моём случае это требовалось для очень мелкого куска кода, а потому под этот кусок кода была создана мелкая виртуальная машина на ~15 опкодов, реализовал в ней всё что нужно, и сам интерпретатор накрыл vmp, поверх чего уже сделал микс своей и встроенной системы лицензирования.