Use Obfuscar.GlobalTool to obfuscate .NET code.
Name | Source | Stable | Preview |
---|---|---|---|
Hsu.Obfuscar.DotNetTool | Nuget | ||
Hsu.Obfuscar.DotNetTool | MyGet |
Global installation:
dotnet tool install --global Obfuscar.GlobalTool --version 2.2.38
Local installation:
dotnet new tool-manifest # if you are setting up this repo
dotnet tool install --local Obfuscar.GlobalTool --version 2.2.38
See NuGet.
-
Add
AssemblySearchPath
file:<PropertyGroup> <ObfuscarAssembliesInclude>true</ObfuscarAssembliesInclude> </PropertyGroup>
When you build the project, the
obfuscar.xml
file will be created to the root folder of project andobfuscar.assemblies.xml
will be created to the output folder of project. -
Default
obfuscar.xml
contents<?xml version="1.0"?> <Obfuscator> <!-- https://docs.obfuscar.com/getting-started/configuration --> <!-- https://github.com/obfuscar/obfuscar/blob/master/Obfuscar/Settings.cs --> <Var name="InPath" value="." /> <Var name="OutPath" value="obfuscated" /> <Var name="RenameFields" value="true" /> <Var name="RenameProperties" value="true" /> <Var name="RenameEvents" value="true" /> <Var name="KeepPublicApi" value="true" /> <Var name="HidePrivateApi" value="true" /> <Var name="ReuseNames" value="true" /> <Var name="UseUnicodeNames" value="false" /> <Var name="UseKoreanNames" value="false" /> <Var name="HideStrings" value="false" /> <Var name="OptimizeMethods" value="true" /> <Var name="SuppressIldasm" value="false" /> <Module file="ConsoleSample.dll"> <SkipEnums value="true" /> </Module> <!-- <Include path="obfuscar.assemblies.xml" /> --> <Include path="obfuscar.assemblies.xml" /> </Obfuscator>
-
Default
obfuscar.assemblies.xml
contents<?xml version="1.0"?> <Include> <AssemblySearchPath path='.' /> </Include>
You can also modify the
obfuscar.xml
file to change the default values.You can also modify the
AssemblySearchNames
property will auto genAssemblySearchPath
inobfuscar.assemblies.xml
file. -
AssemblySearchNames
<PropertyGroup> <AssemblySearchNames>Microsoft.CodeAnalysis.dll;Microsoft.CodeAnalysis.CSharp.dll</AssemblySearchNames> </PropertyGroup>
-
obfuscar.assemblies.xml
<?xml version="1.0"?> <Include> <AssemblySearchPath path='C:\Users\Administrator\.nuget\packages\microsoft.codeanalysis.csharp\4.7.0\lib\netstandard2.0' /> <AssemblySearchPath path='C:\Users\Administrator\.nuget\packages\microsoft.codeanalysis.common\4.7.0\lib\netstandard2.0' /> </Include>
MIT