【发布时间】: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