{SmartAssembly} - Простой, эффективный, великолепный и поставляется не только для обфускации.
В настоящее время мы используем его с ClickOnce и он поддерживает Compact Framework - Вы просто добавляете скрипт после сборки и готово. Он также имеет различные уровни защиты, поэтому вы можете просто методом проб и ошибок подобрать наиболее совместимый уровень защиты.
Вам не нужно обфускировать исходный код, вам просто нужен обфускатор сборки, который поддерживает ClickOnce. Crypto Obfuscator поддерживает это - он выполняет обфускацию как часть процесса сборки, поэтому сборки, которые попадают в манифест ClickOnce и настройки, уже запутаны.
В большинстве случаев, задавая этот вопрос, вы используете неправильный язык (и фреймворк). Многие вещи, которые делают .NET мощным, несовместимы с обфускацией, поэтому вы можете использовать собственный C ++.
ClickOnce может быть исключением из этого правила, но я думаю, что он по-прежнему серьезно ограничивает уровень запутывания, который вы можете использовать.
Если вы действительно хотите защитить свой IP, вам следует разместить веб-службу, чтобы ваш частный код никогда не покидал ваш компьютер. Как только ваш код работает на чужом процессоре, вы проиграли битву за его скрытие.