Лучший способ обфускации или защиты .Net-сборок

Я ищу технику или инструмент, которые мы можем использовать, чтобы запутать или каким-то образом защитить наш скомпилированный код С#. Цель заключается не в защите пользователей и данных, а в том, чтобы помешать реконструированию некоторых технологий в нашем программном обеспечении.

Это не для использования в Интернете, а для настольного приложения.

Знаете ли вы о каких-либо инструментах, доступных для этого типа? (Они не должны быть свободными)

Какого рода последствия могут иметь последствия, если они есть?

Есть ли какие-либо отрицательные побочные эффекты при использовании отладчика во время разработки?

Мы регистрируем трассировки стеков проблем в поле. Как обфускация повлияет на это?

Ответ 1

Это довольно хороший список обфускаторов из msdn Обфускаторы

Я не наблюдал никаких проблем с производительностью при запутывании моего кода. Если вы просто отправляете текстовые трассировки стека, у вас может возникнуть проблема с переводом имен методов.

Ответ 3

Есть инструменты, которые также "деобфузуют" запутанные библиотеки DLL - я бы предложил включить часть, которая должна быть защищена, в неуправляемый компонент.

Ответ 4

Вы тратите свое время на этот путь. Если у вас есть код, который вы не хотите, чтобы кто-нибудь видел, вам нужно держать его за закрытыми дверями. Например, выполните этот код только на своем сервере с помощью интерфейса веб-службы.

Обфускание вашего кода только сдерживает самых случайных людей. Поскольку индустрия видеоигр давно отступила, ни один код не может быть взломан.