Frage

Ich versuche Dotfuscator zu verwenden (CE), um Hilfe unseres ASP.NET MVC .ddl zu schützen. Es ist eine Web-Anwendung, die Kunden verteilt werden und wir brauchen einen Weg, um unsere IP zu schützen.

Das Problem ist, dass es scheint, um die Anwendung zu brechen einmal abgeschlossen. Ich habe nur so weit gekommen mit Sperren auf meinem Controller-Namespace umbenennen, aber ich bin jetzt null Referenz Ausnahmen erhalten.

Hat jemand Dotfuscator Arbeit mit ASP.NET MVC DLL? Google bietet keine Möglichkeit Blog-Beiträge oder Informationen.

Danke.

Weitere Details:

Visual Studio 2008 Professional,

Windows Vista Business x64,

Hier mein Dotfuscator aber nicht hatte eine E-Mail mit einem Download-Link für die aktualisierte CE Ausgabe.

Oder kann jemand ein relativ billig Werkzeug vorschlagen, die richtig funktionieren würde?

War es hilfreich?

Lösung

Ich glaube nicht, das funktionieren wird, weil ASP.NET MVC so stark auf Reflexion beruht.

Ich habe erfolgreich eine ASP.NET MVC-Anwendung unter Verwendung von Smartassembly und die Steuerfluss Entschleierung Option hat verschleiert. Das does't Änderung der Name Ihrer Klassenmitglieder, sondern ändert den Code in Ihre Methoden in Spaghetti-Code.

Andere Tipps

Es ist wahr, dass ASP. NET MVC stützt sich stark auf Reflexion, und daher können Sie die Art oder Eigenschaften nicht verschleiern, die sich entsprechend. Allerdings würde ich argumentieren, dass es nicht notwendig ist ohnehin die meisten von diesem Zeug zu verschleiern. Ihr Controller-Name und Aktionsnamen sind bereits öffentlich, da sie in URIs erscheinen. Ihre Präsentationsmodelle sind im Wesentlichen auch der Öffentlichkeit, da sie wie Ihrer Ansicht nach sollte so gestaltet werden, und da die Endnutzer Ihrer Ansicht sehen können.

Ihre Controller sollte sehr leicht sein, und einfach binden Objekte aus einem Repository, um Ihre Präsentation Modelle. So gibt es wenig geistiges Eigentum zu verbergen hier.

Der Code, den Sie obfuscate eigentlich wünschen würde wäre vermutlich Ihre Geschäftslogik sein, die sehr leicht leben in einer separaten Assembly. Also mein Vorschlag, anstatt zu versuchen, obfuscator nach obfuscator sein würde, und zu versuchen, einen zu finden, die scheint zu arbeiten (mit Ausnahme der Bugs, die Sie vermissen, aber die Benutzer finden später), dass Sie stattdessen Partition der Code, der wichtig ist, zu verschleiern und sein nicht so abhängig von Reflexion.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top