То, что вы ищете, это обфускатор.Он суммирует скомпилированный код, так что он все еще делает то, что должен, но если вы его декомпилируете, он непонятен большинству.
Обратите внимание, что любая попытка сделать его на 100% безопасным гарантированно потерпит неудачувсе, к чему вы можете стремиться, это сделать его как можно более сложным.
Существует множество решений, которые будут делать это различными способами:
Обратите внимание, что последний не является обфускатором, он виртуализирует вашприложение.Некоторые из преимуществ этого состоят в том, что немного сложнее получить доступ к базовому коду, но в первую очередь это продукт, который решает различные проблемы, а именно необходимость отделить приложение от остальных установленных приложений (т. Е. Нетнеобходимо установить .NET, не конфликтовать с настройками реестра и т. д.)