2009-10-13 138 views
5

我想使用Dotfuscator(CE)来帮助保护我们的ASP.NET MVC .ddl。它是一个将分发给客户的Web应用程序,我们需要一种方法来保护我们的IP。ASP.NET MVC Dotfuscator问题

问题是,它似乎一旦完成就打破了应用程序。我只有在我的控制器名称空间禁用重命名,但我现在得到空引用异常。

有没有人有Dotfuscator与ASP.NET MVC DLL的工作? Google不提供任何可能的博客文章或信息。

谢谢。

其他详情:

Visual Studio 2008专业,

Windows Vista商业版x64,

注册我的Dotfuscator的,但没有一封带有下载链接升级CE版。

或任何人都可以建议一个相对便宜的工具,将正常工作?

回答

9

我不认为这将工作,因为ASP.NET MVC如此严重依赖反思。

我已经使用SmartAssembly和它具有的控制流混淆选项成功混淆了ASP.NET MVC应用程序。这不会改变你的类成员的名字,而是将你的方法中的代码改变成意大利面代码。

7

确实是ASP。 NET MVC很大程度上依赖于反射,因此您不能混淆将反映的类型或属性。但是,我认为无论如何都不需要混淆大部分这些东西。您的控制器名称和操作名称已公开,因为它们出现在URI中。您的演示模型本质上也是公共的,因为它们应该像您的视图一样设计,并且最终用户可以看到您的视图。

您的控制器应该非常轻便,只需将存储库中的对象绑定到您的演示模型。所以这里隐藏着很少的知识产权。

您真正想要混淆的代码可能是您的业务逻辑,它可以很容易地生活在一个单独的程序集中。所以我的建议是,不要在混淆器后尝试混淆器,并试图找到一个似乎工作(除了那些你错过的错误,但你的用户以后找到的错误),而是分割代码,这是重要的混淆和他不那么依赖反思。

+1

非常好的建议。 – 2010-11-15 13:01:27