Проблемы ASP.NET MVC Dotfuscator
-
21-09-2019 - |
Вопрос
Я пытаюсь использовать Dotfuscator (CE), чтобы защитить наш ASP.NET MVC .ddl.Это веб-приложение, которое будет распространяться среди клиентов, и нам нужен способ защитить нашу интеллектуальную собственность.
Проблема в том, что после завершения приложение, похоже, нарушает работу.Мне пока удалось отключить переименование в пространстве имен контроллеров, но теперь я получаю исключения с нулевыми ссылками.
Кто-нибудь получил Dotfuscator, работающий с DLL ASP.NET MVC?Google не предоставляет никаких сообщений в блогах или информации.
Спасибо.
Другие детали:
Visual Studio 2008 Профессионал,
Windows Vista Бизнес x64,
Зарегистрировал свой Dotfuscator, но не получил электронное письмо со ссылкой для загрузки обновленной версии CE.
Или может кто-нибудь предложить относительно дешевый инструмент, который будет работать должным образом?
Решение
Я не думаю, что это сработает, потому что ASP.NET MVC очень сильно зависит от отражения.
Я успешно запутал приложение ASP.NET MVC с помощью SmartAssembly и имеющейся у него опции обфускации потока управления.Это не меняет имена членов вашего класса, а вместо этого превращает код ваших методов в код-спагетти.
Другие советы
Это правда, что АСП.NET MVC в значительной степени зависит от отражения, поэтому вы не можете скрыть тип или свойства, которые будут отражаться.Однако я бы сказал, что в любом случае нет необходимости запутывать большую часть этих вещей.Имена ваших контроллеров и имена действий уже общедоступны, поскольку они появляются в URI.Ваши модели представления также по сути являются общедоступными, поскольку они должны быть спроектированы так же, как и ваше представление, и поскольку конечные пользователи могут видеть ваше представление.
Ваши контроллеры должны быть очень легкими и просто привязывать объекты из репозитория к вашим моделям представления.Так что интеллектуальной собственности здесь нечего скрывать.
Код, который вы на самом деле хотите запутать, предположительно, будет вашей бизнес-логикой, которая может легко разместиться в отдельной сборке.Поэтому я предлагаю вместо того, чтобы пробовать обфускатор за обфускатором и пытаться найти тот, который кажется Чтобы работать (за исключением тех ошибок, которые вы упускаете, но ваши пользователи обнаруживают позже), вместо этого вы разделяете код, который важно запутать, и который не так сильно зависит от отражения.