Недостаточно «не распространять их», нет 100% -ного уверенного способа предотвращения несанкционированного доступа.
Вы можете ознакомиться с аппаратными или программными лицензиями. Проверяйте лицензии на весь код, и если устройство отсутствует, просто прервите все.
Еще одна идея - объявить все ваши типы в сборке как internal
, а затем настроить основное приложение EXE в качестве сборки друга с атрибутом сборки InternalsVisibleTo
. Обычно это используется для модульных тестирования внутренних элементов, и я не знаю, насколько это безопасно на практике. Это не помешало бы людям разобрать вашу сборку, чтобы вы все еще могли запутаться, и это не работает вообще, если вы продаете библиотеку и собираетесь использовать только для клиентов лицензий, чтобы использовать ее (потому что вам придется предоставлять пользовательские сборки для каждого клиент).
Пожалуйста, определите 'незаконно' – pyrocumulus
Похоже, вы в основном просите, как реализовать DRM для DLL. –
Да, я думаю, что эквивалент стиля DRM - это, по сути, то, что я ищу. –