2009-10-13 16 views
5

Próbuję użyć Dotfuscator (CE), aby pomóc chronić nasz ASP.NET MVC .ddl. Jest to aplikacja internetowa, która będzie dystrybuowana do klientów i potrzebujemy sposobu na ochronę naszego IP.Problemy z Dotfuscator ASP.NET MVC

Problem polega na tym, że wydaje się, że przerwał aplikację po zakończeniu. Do tej pory doszło tylko do wyłączenia zmiany nazwy w przestrzeni nazw kontrolerów, ale teraz dostaję wyjątki od zerowych odwołań.

Czy ktoś ma program Dotfuscator współpracujący z bibliotekami DLL ASP.NET MVC? Google nie udostępnia żadnych możliwych wpisów ani informacji na blogu.

Dzięki.

Inne szczegóły:

Visual Studio 2008 Professional,

Windows Vista Business x64,

Zarejestrowana mój Dotfuscator ale nie miałem e-mail z linkiem do pobrania na uaktualnionym wydaniu CE.

Czy ktoś może zaproponować stosunkowo tanie narzędzie, które działałoby prawidłowo?

Odpowiedz

9

Nie sądzę, że będzie działać, ponieważ ASP.NET MVC opiera się tak bardzo na refleksji.

Udało mi się zmylić aplikację ASP.NET MVC przy użyciu SmartAssembly i opcji kontrolowania przepływu-zaciemniania, które ma. To nie zmienia nazwy członków twojej klasy, ale zmienia kod w twoich metodach na kod spaghetti.

7

To prawda, że ​​ASP. NET MVC opiera się głównie na refleksji, dlatego nie można ukryć typu lub właściwości, które zostaną odzwierciedlone. Twierdzę jednak, że i tak nie ma potrzeby ukrywania większości tych rzeczy. Twoje nazwy kontrolerów i nazwy akcji są już publiczne, ponieważ pojawiają się w identyfikatorach URI. Twoje modele prezentacji są w zasadzie również publiczne, ponieważ powinny być zaprojektowane tak, jak widok, a ponieważ użytkownicy końcowi mogą zobaczyć Twój widok.

Twoje kontrolery powinny być bardzo lekkie i po prostu wiązać obiekty z repozytorium do modeli prezentacji. Jest więc mało własności intelektualnej, którą można tu ukryć.

Kod, który chcielibyście zaciemnić, byłby prawdopodobnie logiką biznesową, która z łatwością może żyć w osobnym zespole. Tak więc moja sugestia polegałaby raczej na tym, że zamiast obfuscatora po obfuscatorze próbować znaleźć taki, który wydaje się być w stanie pracować (z wyjątkiem tych błędów, które tracisz, ale twoi użytkownicy później odkrywają), że zamiast tego podzielisz kod, który jest ważny zaciemnić, a jego nie zależy od refleksji.

+1

Bardzo dobra rada. –