Skip to content

Latest commit

 

History

History
109 lines (86 loc) · 4.41 KB

README.md

File metadata and controls

109 lines (86 loc) · 4.41 KB

Hsu.Obfuscar.DotNetTool

dev preview main Obfuscar Nuke Build windows linux

Use Obfuscar.GlobalTool to obfuscate .NET code.

Package Version

Name Source Stable Preview
Hsu.Obfuscar.DotNetTool Nuget NuGet NuGet
Hsu.Obfuscar.DotNetTool MyGet MyGet MyGet

Usage

Install Obfuscar.GlobalTool

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

Install Hsu.Obfuscar.DotNetTool

See NuGet.

Configuration

  • 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 and obfuscar.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 gen AssemblySearchPath in obfuscar.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>

License

MIT