如何使用包含多个附属程序集的 .NET Reactor 混淆 .NET Core 3 程序集?

How to obfuscate a .NET Core 3 assembly with .NET Reactor, containing multiple satellite assemblies?

我有一个使用 .NET Reactor v.6.0.0.0 混淆的 .NET Core 3.0.100 程序集。

所述主程序集依赖于使用 Reactor commands:
打包和混淆的其他程序集 -satelite_assemblies [path/s]
-合并 1

使用 dotPeek 和反编译程序集我可以看到所有正确的 .dll 都包含在主程序集中并与它一起混淆 - 到目前为止一切顺利。

仅构建时(并且 混淆)主 .dll 也有一个 [name].deps.json 文件与之一起,告诉它什么和在哪里可以找到其他程序集(标准 .NET Core 过程)。

在混淆程序集(包含所有其余部分)中,该文件不再有效(也无法包含),因为程序集的 "location" 现在已更改,因此当 运行混淆的 .dll 我们在控制台中收到一个错误,指出无法找到依赖的 .dll。

我们如何混淆多个 .dll 并将其与 .NET Reactor 合并,并且仍然让主程序集知道在哪里可以找到它们?

您可以更新到新版本 6.2 (15.01.2020)。此版本可以 merge/embed .NET Core 程序集并自动更新 [name].deps.json 文件。现在,您还可以将 .NET Core 文件捆绑到单个 EXE 文件中。