2009-10-13 124 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