Установщик Windows (.msi). Пользовательские действия. Нужно ли запутывать / защищать код пользовательских действий, написанный на C #? Есть ли способ разобрать его? - PullRequest
0 голосов
/ 19 января 2019

Мы разрабатываем настольное приложение и используем набор инструментов Wix для создания установщика .msi.

Мы используем ". Net Reactor" , чтобы запутать и защитить код C #.Но у нас также есть несколько пользовательских действий (в формате MSI), которые мы также хотели бы защитить.

Итак, вопрос в том, нужно ли нам беспокоиться об их защите, и если да, то как лучше всего их защитить?нам нужно скрыть все библиотеки, от которых зависит проект Custom Actions?

1 Ответ

0 голосов
/ 19 января 2019

Без чувствительности, без проблем : я секунду что Клаус сказал: содержит ли этот код что-нибудь чувствительное? Обычно чувствительные аспекты вращаются вокруг лицензирования или ключей некоторого вида, которые вы хотите защитить. Обязательно скомпилируйте двоичные файлы режима Release (было бы здорово, если бы не требования к времени выполнения на обычных машинах также не выполнялись).

Защита конфиденциальной информации : Некоторое время назад я написал полный контрольный список по вопросу предотвращения распространения конфиденциальной информации с помощью вашего решения для развертывания: Как избежать случайно распространил конфиденциальную информацию в моем MSI? (один из тех растягивающихся ответов, которые сходят с ума, пока вы пишете, - все еще может стоить фальсификации).

Собственный код : Если у вас есть серьезные проблемы с чувствительностью, я бы скомпилировал настраиваемое действие C ++ вместо настраиваемого действия управляемого кода, чтобы сделать вещи более " вплоть до металл". Это также отлично подходит для обеспечения минимальных зависимостей времени выполнения (статическое связывание).

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

Установка похожа на резюме: она существует только как средство доставки чего-то еще ценного? Само по себе оно не имеет значения. Вы хотите продажи своего программного обеспечения в первую очередь? И безопасность конечно. Разрешение пользователям компилировать свои собственные настройки из ваших источников также может привести к проблемам - конечно. Вы хотите поддержать самоскомпилированную настройку?

...