如何使用包含多个附属程序集的 .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 合并,并且仍然让主程序集知道在哪里可以找到它们?
- 是否需要对 [name].deps.json 进行手动更改?如果需要,是哪种更改?
- 有没有办法用 .NET Reactor 自动指定它或以某种方式包含它(-satellite_assemblies 只接受 .dll 和 .exe 文件)?
- 是否只有在依赖 [name].deps.json 文件时才可以混淆它们 而不 合并它们?
您可以更新到新版本 6.2 (15.01.2020)。此版本可以 merge/embed .NET Core 程序集并自动更新 [name].deps.json 文件。现在,您还可以将 .NET Core 文件捆绑到单个 EXE 文件中。
我有一个使用 .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 合并,并且仍然让主程序集知道在哪里可以找到它们?
- 是否需要对 [name].deps.json 进行手动更改?如果需要,是哪种更改?
- 有没有办法用 .NET Reactor 自动指定它或以某种方式包含它(-satellite_assemblies 只接受 .dll 和 .exe 文件)?
- 是否只有在依赖 [name].deps.json 文件时才可以混淆它们 而不 合并它们?
您可以更新到新版本 6.2 (15.01.2020)。此版本可以 merge/embed .NET Core 程序集并自动更新 [name].deps.json 文件。现在,您还可以将 .NET Core 文件捆绑到单个 EXE 文件中。