Мой продукт состоит из нескольких исполняемых файлов (модулей). Могу я каким то образом использовать один сгенерированный ключ, а не генерировать ключ для каждого модуля. Мне проще было бы зашить возможность использования того или иного модуля в UserData.
Да вы можете сгенерировать один ключ на все модули - для этого используйте при защите единые параметры лицензирования (для всех модулей в настройках VMProtect укажите единый файл с параметрами лицензирования).