3

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

所述主程序集依赖于其他程序集,这些程序集通过使用 Reactor命令与它一起打包和混淆:
-satelite_assemblies [path/s]
-merge 1

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

当仅构建(而不是混淆)主 .dll 时,它还有一个 [name].deps.json 文件,它告诉它在哪里以及在哪里可以找到其他程序集(标准 .NET Core 过程)。

在混淆程序集(包含所有其余部分)中,该文件不再有效(也无法包含),因为程序集的“位置”现在已更改,因此在运行混淆的 .dll 时,我们在控制台中收到错误消息找不到依赖的 .dll。

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

  • 是否需要对 [name].deps.json 进行手动更改,如果需要,是什么类型的?
  • 有没有办法使用 .NET Reactor 自动指定它或以某种方式包含它(-satellite_assemblies 只接受 .dll 和 .exe 文件)?
  • 依赖 [name].deps.json 文件时, 是否只能在不合并它们的情况下混淆它们?
4

1 回答 1

2

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

于 2020-01-15T23:22:22.517 回答