ClickOnce-Bereitstellung
Bei der ClickOnce-Bereitstellung wird die Babel-Aufgabe so konfiguriert, dass sie die Ziel-Assembly unmittelbar nach dem Schritt Compile verschleiert.
Öffnen Sie die .csproj-Datei von Visual Studio und fügen Sie die folgenden MSBuild-Anweisungen vor dem schließenden Element Project ein.
<UsingTask TaskName="Babel" AssemblyName="Babel.Build, Version=10.0.0.0, Culture=neutral, PublicKeyToken=138d17b5bd621ab7" />
<Target Name="Obfuscate" AfterTargets="Compile" Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<Babel InputFile="$(ProjectDir)$(IntermediateOutputPath)$(TargetFileName)" OutputFile="$(ProjectDir)$(IntermediateOutputPath)$(TargetFileName)" ObfuscateTypes="true" ObfuscateEvents="true" ObfuscateMethods="true" ObfuscateProperties="true" ObfuscateFields="true" VirtualFunctions="true" UnicodeNormalization="true" FlattenNamespaces="true" OverloadedRenaming="true" StringEncryption="hash" ControlFLowObfuscation="if=on;switch=on;case=on;call=on" ControlFLowIterations="3" />
</Target>Beachten Sie, dass die Attribute InputFile und OutputFile der Aufgabe auf die Zwischenausgabe des Builds gesetzt sind. Dadurch erstellt Visual Studio das ClickOnce-Bereitstellungspaket mit der verschleierten Ziel-Assembly.
NuGet-Paket von Babel Obfuscator
Wenn Sie das NuGet-Paket Babel.Obfuscator haben, müssen Sie die Babel-Aufgabe nicht in Ihrer Projektdatei einrichten. Fügen Sie Ihrem Projekt einfach die Referenz auf das NuGet-Paket hinzu.
Den Quellcode des Beispiels können Sie herunterladen .