ASP.NET MVC Dotfuscator проблемы - PullRequest
       8

ASP.NET MVC Dotfuscator проблемы

5 голосов
/ 13 октября 2009

Я пытаюсь использовать Dotfuscator (CE) для защиты нашего ASP.NET MVC .ddl. Это веб-приложение, которое будет распространяться среди клиентов, и нам нужен способ защитить наш IP.

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

У кого-нибудь есть Dotfuscator, работающий с ASP.NET MVC DLL? Google не предоставляет возможных сообщений в блоге или информации.

Спасибо.

Другие детали:

Visual Studio 2008 Professional,

Windows Vista Business x64,

Зарегистрировал мой Dotfuscator, но у него не было электронного письма со ссылкой для скачивания обновленной версии CE.

Или кто-нибудь может предложить относительно дешевый инструмент, который бы работал правильно?

Ответы [ 2 ]

9 голосов
/ 13 октября 2009

Не думаю, что это сработает, потому что ASP.NET MVC так сильно зависит от рефлексии.

Я успешно запутал приложение ASP.NET MVC с помощью SmartAssembly и имеющейся у него опции control-flow-obfuscation. Это не меняет имя ваших учеников, но вместо этого код в ваших методах превращается в код спагетти.

7 голосов
/ 13 октября 2009

Это правда, что ASP. NET MVC сильно зависит от отражения, и поэтому вы не можете запутать тип или свойства, которые будут отражены. Тем не менее, я бы сказал, что нет необходимости запутывать большую часть этого материала в любом случае. Имена вашего контроллера и имена действий уже общедоступны, так как они появляются в URI. Ваши модели презентаций также по сути являются общедоступными, поскольку они должны быть спроектированы так же, как ваше представление, и поскольку конечные пользователи могут видеть ваше представление.

Ваши контроллеры должны быть очень легкими и просто связывать объекты из репозитория с вашими моделями презентаций. Так что здесь мало интеллектуальной собственности, чтобы спрятаться.

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

...