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

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

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

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

Спасибо.

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

Visual Studio 2008 Professional,

Windows Vista Business x64,

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

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

2 ОТВЕТА
РЕШЕНИЕ

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

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

9
13.10.2009 10:37:50

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

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

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

7
13.10.2009 13:05:57