.NET 6 混淆

Fan*_*one 6 .net c# obfuscation .net-6.0

我试图使用“生成单个文件”选项来混淆编译 .NET 6 项目后获得的 .exe 文件,问题是没有混淆器对其起作用,我想知道是否有人知道为什么?

预先感谢您的回答

小智 3

您必须混淆位于“obj\Release\net6.0-windows\win-x64”文件夹中的主应用程序dll,并将混淆的dll复制到该路径。

这是一个使用 Obfuscar 的工作示例。这些行位于 .csproj 文件中。

    <Target Name="Obfuscation" AfterTargets="AfterCompile" Condition="'$(PublishProtocol)'!=''">
        <Exec Command="&quot;$(Obfuscar)&quot; obfuscar.xml" />
    </Target>
    <Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="'$(PublishProtocol)'!=''">
        <Exec Command="COPY &quot;C:\Users\Application\obj\Release\net6.0-windows\win-x64\Obfuscated\Application.dll&quot; &quot;C:\Users\Application\obj\Release\net6.0-windows\win-x64\Application.dll&quot;" />
    </Target>
Run Code Online (Sandbox Code Playgroud)

之后,当您发布单个文件 exe 时,存档内的应用程序代码将被混淆。