C# 如何配置开放源码模糊处理工具Obfuscar
我正试图使用免费工具来保护我的代码不受逆向工程的影响。我试图混淆提供的示例。问题是我找不到如何配置它 这是我的config.xmlC# 如何配置开放源码模糊处理工具Obfuscar,c#,.net,obfuscar,C#,.net,Obfuscar,我正试图使用免费工具来保护我的代码不受逆向工程的影响。我试图混淆提供的示例。问题是我找不到如何配置它 这是我的config.xml <configuration> <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client"/> </startup> <Obfuscator> <
<configuration>
<startup><supportedRuntime version="v4.0"
sku=".NETFramework,Version=v4.0,Profile=Client"/>
</startup>
<Obfuscator>
<Var name="InPath" value="C:\Users\user\Desktop\Obfuscar_2.0.0\Examples\BasicExample\BasicExampleExe\bin\Debug" />
<Var name="OutPath" value="C:\Users\user\Desktop\Obfuscar_2.0.0\Examples\BasicExample\BasicExampleExe\bin\Debug" />
<Module file="$(InPath)\BasicExampleExe.exe" />
<Module file="$(InPath)\BasicExampleLibrary.dll" />
<Var name="KeepPublicApi" value="true" />
<Var name="HidePrivateApi" value="true" />
</Obfuscator>
</configuration>
我也有同样的问题。。。他们在Git中提供的示例Release.proj构建文件试图从头开始构建Obfuscar二进制文件。因此,您需要更改Release.proj文件的两行,假设您将使用预编译的Obfuscar二进制文件 首先,将路径更改为保存二进制文件的模糊CAREXE路径,如下所示:
<!-- obfuscator bits -->
<PropertyGroup>
<ObfuscatorExe>C:\Program Files (x86)\Obfuscar\obfuscar.Console.exe</ObfuscatorExe>
<ObfuscatorProject>$(BasePath)\obfuscar.xml</ObfuscatorProject>
<ObfuscatorInput>$(BasePath)\Obfuscator_Input</ObfuscatorInput>
<ObfuscatorOutput>$(BasePath)\Obfuscator_Output</ObfuscatorOutput>
</PropertyGroup>
C:\ProgramFiles(x86)\Obfuscar\Obfuscar.Console.exe
$(基本路径)\obfuscar.xml
$(基本路径)\Obfuscator\u输入
$(基本路径)\Obfuscator\u输出
其次,注释掉编译模糊车解决方案的命令:
<ItemGroup>
<CompileSolution Include="$(BasePath)\BasicExample.sln" />
<!-- <CompileObfuscar Include="..\..\Obfuscar\Obfuscar.sln" /> -->
</ItemGroup>
您必须学习一些MSBuild脚本,然后阅读release.proj
以了解如何让一切正常工作。这似乎是(又一个)程序员完全离开预期用户的另一个例子——在本例中是其他程序员完全不知所措。如果你打算花费所有的时间和精力创建一个应用程序/实用程序,看在上帝的份上,告诉人们如何使用它。我在GitHub上看到的每一个项目都是一样的。[Alights soapbox]@CoderDennis链接现在是404。请看我的其他评论…@SteveCinq我从来没有让这个或任何其他开源混淆器工作过。我已经删除了链接已断开的评论。@coderdenis我已经开始了-可能最终花费的时间超过了eazfouscator
的成本!它通常工作得很好,但无法处理与pfx的重新签名,这有点烦人。因此,我添加了一个post事件,使用SignTool
重新签名,现在一切正常。我从来没有把源代码写出来过,tho。为什么人们不发布完整的、经过测试的、有效的解决方案,我永远不会理解。顺便说一句,我认为eazfousator非常好,可以使用“eaz”(!)。这是我的退路。当我按照这些说明操作时,我只得到一个错误:“BasicExample\Release.proj”(默认目标)(1)->BasicExample\Release.proj(28,2):错误MSB4067:元素下的元素无法识别。