1

我正在使用 .Net Reactor 来混淆我的项目。在我的项目中,我有大约 10 个 dll。我希望我的设置在客户端机器上部署混淆的 dll。

我尝试将下面的代码放在设置项目属性的构建后事件中。

"C:\Program Files\Eziriz\.NET Reactor\dotNET_Reactor.exe" -project "E:/s.nrproj"

但是当我部署它并尝试在 Reflector 中打开部署的 dll 时,它会打开并显示代码。我在哪里/我错过了什么???

4

4 回答 4

1

Dot Net Reactor 混淆了 exe 和 dll 并将它们存储在不同的位置。默认是程序集所在的子文件夹 Secured。确保在您的部署方案中采用安全的,而不是原始的!

于 2014-10-15T11:21:35.963 回答
0

您应该在构建安装项目之前混淆您的程序集,因此您应该在 Pre-Build 而不是 Post-Build 中使用您的命令。当您混淆您的程序集时,.NET 可能无法自动识别您所需的程序集。我强烈建议单独混淆您的程序集,然后创建您的安装项目(确保将所有必需的程序集添加到您的项目中)。

注意:在 VS2010 中创建安装项目存在一些错误,有时会关闭和打开 Visual Studio 作品。

于 2014-09-21T05:18:03.160 回答
0

在这种情况下,构建后事件不起作用。您可以使用 .NET Reactor VS 插件在正确的时间混淆程序集。解决方案在这里描述: 解决方案

于 2020-11-12T15:56:37.527 回答
0

这对我有用:

if /I "$(ConfigurationName)" == "Release" "C:\Program Files (x86)\Eziriz\.NET Reactor\dotNET_Reactor.Console.exe" -file "$(TargetPath)" -targetfile "$(TargetPath)" -q

如果你想设置 config proj 然后像这样添加它:

-project "$(SolutionDir)obfuscation_settings.nrproj"

鉴于 .net reactor 项目位于解决方案文件夹中,其名称为 obfuscation_settings.nrproj

祝你好运

于 2016-11-09T18:11:04.360 回答