Frage

Ich habe eine Multi-Projekt Visual Studio 2008-Lösung. Ich möchte einige der Projektergebnisse verschleiern, bevor sie in die Setup-Datei erstellt werden mit Dotfuscator. So würde Ich mag können:

  1. Die Lage sein, zu wählen, was zu verschleiern
  2. Erstellen Sie ein Setup-Paket, das die bereits verschleierten Code
  3. enthält
  4. Überprüfen Sie, ob die Verschleierung ein Erfolg
  5. war

Was ist der beste Weg, dies zu tun?
(Ich bin auch bereit, andere Werkzeuge zu verwenden, Dotfuscator ist kein Muss.)

War es hilfreich?

Lösung

Wenn Sie eine der kommerziellen Versionen von Dotfuscator (Dotfuscator Suite oder Dotfuscator MDE) verwenden das ist sehr einfach zu bewerkstelligen. Dotfuscator ein Visual Studio-Projekt, die anderen Projekte gibt als seine Eingabe verwenden kann. Das Dotfuscator Projekt macht auch alle seine Ausgabebaugruppen für andere Visual Studio-Projekte (einschließlich der verschiedenen Setup-Projekttypen), so dass sie direkt die verschleierten Baugruppen verbrauchen können und sie in den Installer zu bauen. Siehe dieser Knowledge Base-Artikel für einige zusätzliche Informationen über selektiv verschleierte Baugruppen und Abhängigkeiten in Setup-Projekte einschließlich.

Sie können wählen, welche zu verschleiern Baugruppen (und wie viel Verschleierung wird jeder von ihnen angewandt) in einer Reihe von Möglichkeiten, einschließlich Dekoration Ihrer Baugruppen oder spezifischen Code mit dem System.Reflection.ObfuscateAssemblyAttribute oder System.Reflection.ObfuscationAttribute und / oder mit den verschiedenen Einstellungen in der Dotfuscator Benutzeroberfläche schließen oder Baugruppen und Elemente aus den verschiedenen Verschleierungstransformationen mit einer Reihe von Regeln (einschließlich regulären Ausdrücke) auszuschließen und / oder die Auswahl der einzelne Elemente in der GUI.

In der Standardeinstellung fügt Dotfuscator ein Attribut (DotfuscatorAttribute) zu jeder Baugruppe es Prozesse, die Sie dann mit einem Skript nach dem Build oder Test installieren, um sicherzustellen, zu überprüfen, dass das Attribut vorhanden ist. Siehe http://www.preemptive.com/products/dotfuscator/manuals/NoDotfuscatorAttribute_Global_Option .html für einige Informationen über dieses Attribut.

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