Лучший способ запутать или защитить сборки .Net [закрыто]
Вопрос
Я ищу технику или инструмент, который мы можем использовать, чтобы запутать или каким-то образом защитить наш скомпилированный код C#.Целью является не обеспечение безопасности пользователей/данных, а предотвращение обратного проектирования некоторых технологий нашего программного обеспечения.
Это не для использования в Интернете, а для настольного приложения.
Итак, знаете ли вы какие-либо инструменты, доступные для выполнения подобных задач?(Они не обязательно должны быть бесплатными)
Какие последствия для производительности они имеют, если таковые имеются?
Имеет ли это какие-либо негативные побочные эффекты при использовании отладчика во время разработки?
Мы регистрируем стек-следы проблем на местах.Как на это повлияет запутывание?
Решение
Это довольно хороший список обфускаторов от Торговая площадка Visual StudioОбфускаторы
- АрмДот
- Криптообфускатор
- Поведение для .NET
- РазвертываниеLX CodeVeil
- Дотфускатор .NET-обфускатор
- Саламандра .NET-обфускатор
- Семантические конструкции:Обфускатор исходного кода C#
- Умная сборка
- Специи.Нет
- Установка
- Ксенокод Постбилд 2006 г.
- .NET-реактор
Я не заметил никаких проблем с производительностью при запутывании моего кода.Если вы просто отправляете текстовые трассировки стека, у вас могут возникнуть проблемы с переводом имен методов.
Другие советы
Существуют инструменты, которые также «деобфусцируют» запутанные библиотеки DLL — я бы предложил превратить часть, которую необходимо защитить, в неуправляемый компонент.
http://xheo.com/products/code-protection
Раньше делал за меня эту работу.
Вы теряете время, идя по этому пути.Если у вас есть код, который вы не хотите, чтобы кто-нибудь увидел, вам нужно хранить его за закрытыми дверями.Например, выполняйте этот код только на своем сервере, используя интерфейс веб-службы.
Запутывание вашего кода отпугивает только самых случайных людей.Поскольку индустрия видеоигр уже давно переживает кризис, ни один код не застрахован от взлома.