Раньше я много работал на JavaScript, и одна вещь, которая действительно беспокоила моих работодателей, заключалась в том, что исходный код было слишком легко украсть. Даже с запутыванием ничего не помогло, потому что мы все знали, что любой компетентный разработчик сможет прочитать этот код, если захочет.
Сценарии JS - это одно, а как насчет проектов SOA, в которые миллионы вложены в интеллектуальную собственность? Я люблю .net, и особенно C #, но недавно мне снова пришлось ответить на вопрос: «Если мы передадим эту скомпилированную программу нашим клиентам, смогут ли их разработчики перепроектировать ее?» Я изо всех сил пытался запутать код, но я знал, что другому решительному разработчику C # не понадобится так много времени, чтобы получить код.
Итак, я искренне задаю вопрос: нельзя ли защитить код .net?
У меня есть следующие соображения:
- Даже обычные собственные исполняемые файлы могут быть отменены, но не каждый разработчик обладает способностью сделать это. Разобрать собственный исполняемый файл намного сложнее, чем сборку .net.
- Обфускация только поможет вам, но это немного поможет.
- Почему я никогда не видел публичного признания Microsoft о том, что все, что написано в .net, может сравнительно легко похищаться по IP? Почему я никогда не видел ни одного контрмерного обучения на каком-либо сайте Microsoft? Почему VS поставляется с сообществом obfuscater в качестве дополнительного компонента? Хорошо, может быть, я только что засунул голову в песок, но это не совсем высокий приоритет в списке большинства разработчиков.
- Есть ли планы решить мои проблемы в любой будущей версии .net?
Я не стучу .net, но я хотел бы получить реалистичные ответы, спасибо, вопрос помечен как субъективный и общедоступный!