Защищать исходный код при доставке клиенту - PullRequest
7 голосов
/ 21 июня 2011

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

1) Очевидно, что использовать обфускатор.Вопрос в том, какой из них.

2) Максимально зашифровать файлы конфигурации (особенно информацию о конечных точках).

3) Переместить как можно больше логики в веб-службу.

4) Использовать SSL для передачи данных.

Проект написан на C # / WPF и подключается к набору веб-сервисов, размещенных на IIS 7. Мы упаковываем наши поставки с помощью WIX,WIX есть что предложить?

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

Ответы [ 3 ]

15 голосов
/ 21 июня 2011

Вот ваши варианты:

  • Не давайте им программу, они уже злоупотребили своей властью
  • Пусть они заключат лицензионное соглашение, в котором:
    • Они могут перепроектировать программу или даже увидеть исходный код в пределах, определенных вашей юридической командой
    • Они не могут ничего сделать, не пригласив мир юридического вреда
  • Выпустить код как открытый исходный код. Вы были бы удивлены, если «запретный плод» не запрещен, они могут просто скучать и оставить его в покое.
  • Переместите проприетарные вычисления на свои собственные серверы, по сути, превратив вашу программу в тонкий клиент.
  • Обратный инжиниринг некоторых из их инструментов. Вступайте в какую-то холодную войну.
  • Запаситесь патентами, и когда вы увидите свой собственный код в открытом доступе, предъявите иск компании за нарушение вашего патента.
  • Заплатите мобу, чтобы вывести своих "друзей" из города
  • Отправьте им корзину кексов с запиской, на которой написано: «PlZ st0p with H4x»
  • Одевайся как призрак профессиональной честности, посещай каждого из сотрудников в их домах и обучай их урокам этики и морали.
  • Выкупить компанию, уволить всех сотрудников.
3 голосов
/ 21 июня 2011

Соглашение с @Chris не меньше, чем что-либо.

Наймите адвоката и составьте соответствующие условия лицензии.

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

Presto, проблема решена.

Дело в том, что единственным реальным решением является использование правовой системы.

2 голосов
/ 21 июня 2011

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

Если кто-то захочет украсть, они украдут.

Редактировать: о, RE Obfuscator столько, сколько я ненавижу рекомендовать RedВорота после обработки отражателей, их Smart Assembly очень хороши.

...