В итоге миграция на новый VMProtect для нашего продукта вот прямо так невозможна, потому что hwid который делает VMProtect больше несовместим, так как компонент CPU теперь другой.
В нашем случае, проверка совпадения hwid производится ручками согласно алгоритму, опубликованному где-то (что требует совпадения cpu и еще пары компонентов). Хотелось бы, чтобы привязка, сгенерированная с помощью старого вмпротекта, работала и с новым, и наоборот.
Поэтому хотелось бы видеть оба CPUID в hardware id (наверное это можно сделать, просто поместив старый в hwid под неиспользуемым тэгом).
Тогда логика будет такова:
- Если присутствует только "старый" тэг cpu, то для привязки используем только его (а мы ничего лучше и не сможем придумать)
- Если присутствуют оба тэга, то в зависимости от ситуации, мы генерируем привязку, используя либо "старый", либо "новый" cpu, либо оба.
Как вариант, новый CPUID можно публиковать под новым тэгом, и тогда все будет работать "искаропки". Новый алгоритм (что в курсе про новый тэг) будет использовать улучшенный компонент CPU, а старые версии тоже будут работать на старом компоненте (если, конечно, алгоритм сравнения игнорирует неизвестные тэги).
Смысл всех этих упражнений - обратная совместимость, которая сломалась при текущем положении дел.
Может эту схему можно малой кровью добавить, пусть даже и под переключателем в проекте? Оченнама нада
