На самом деле вы зря тратите время.Вы НЕ МОЖЕТЕ мешать кому-либо копировать ваш исполняемый файл, получать ваш код или что-либо еще.Даже если вы можете полностью защитить исполняемый файл на диске, в момент его запуска кто-то может использовать отладчик для создания дампа исполняемого файла, даже из файла с отображенной памятью.Вот как такие продукты, как Xenocode, .NET Reactor или любой другой упаковщик в этом отношении, терпят поражение.
Лучший вариант для вас - остановиться и подумать о том, чего вы действительно пытаетесь достичь,Вы обеспокоены тем, что люди нарушают лицензионное соглашение?Вы беспокоитесь о том, что ваше программное обеспечение появляется в The Pirate Bay?Если вы создаете полезное программное обеспечение, обе эти вещи являются возможностями, а не возможностями.Защитите свое программное обеспечение с помощью авторских прав, а ваши алгоритмы с помощью патентов, если это необходимо.Тогда у вас есть юридическое средство, чтобы преследовать нарушителей.
Извините, что взорвал ваш пузырь, но нет технического решения, которое нельзя победить.Ключи могут быть эмулированы, веб-службы могут быть исправлены, ключи шифрования могут быть перехвачены и т. Д. Потратьте свое время на то, чтобы сделать свое программное обеспечение отличным, не пытаясь защитить то, что не может быть защищено.