【问题标题】:How to obfuscate a .NET Core 3 assembly with .NET Reactor, containing multiple satellite assemblies?如何使用 .NET Reactor 混淆包含多个附属程序集的 .NET Core 3 程序集?
【发布时间】:2020-02-24 14:03:59
【问题描述】:

我有一个使用 .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 程序)。

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

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

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

【问题讨论】:

    标签: c# .net-core .net-assembly obfuscation net-reactor


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 2010-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-09
      相关资源
      最近更新 更多