Ответ 1
Несколько вещей, которые вы, возможно, захотите рассмотреть:
Проверить сумму DLL. Используя криптографическую хеш-функцию вы можете сохранить ее внутри файла лицензии или внутри DLL. Это обеспечивает метод проверки, определяемый, если мой оригинальный DLL файл не взломан, или если это файл лицензии для этой DLL. Несколько простых методов обмена байтами могут быстро отменить вашу хеш-функцию с битной дорожки (и, следовательно, ее нелегко воспроизвести).
Не храните хеш в виде строки, разделите ее на неподписанные шорты в разных местах.
Как сказал Ларри, MAC-адрес довольно распространен. Есть много примеров того, как получить это на Проект кода, но имейте в виду, что это легко подделать в наши дни.
Мое предложение должно быть использовано частные/общедоступные ключи для генерации лицензии.
Короче говоря, способы атаки будут бинарными (измените инструкции вашего DLL файла), чтобы защитить их от этого или генерировать ключевые слова, чтобы каждый пользователь лицензии, машина и даже конкретная установка.