Защита приложения распространяющегося по подписке
Подскажите как защищать приложения(Windows C#) от пиратства. На ум приходит загрузка части кода с сервера при запуске, но тут опять же проблема: взять эту часть кода когда подписка активна, когда подписка истекает, залить самому и закомпилить. И/или использовать шифрование, но насколько я понимаю, они тоже обходятся. И так вопрос: как защитить приложение, по максимуму, какой должна быть комплексная защита?
Примечание: подписки разные, поэтому как защитить от их подмены?