ConfuserEx:单声道 System.TypeInitializationException

ConfuserEx: System.TypeInitializationException on Mono

我无法在单声道上获得我的混淆应用程序 运行。 Unobfuscated 适用于单声道。当我在 win7 上使用 .net 框架时,它在两种变体中都没有问题。

这是我得到的异常:

Unhandled Exception: System.TypeInitializationException: The type initializer for '<Module>' threw an exception. ---> System.NullReferenceException: Object reference not set to an instance of an object at .‮‮‎‫‎âªâ€­â€‹â€ªâ€«âªâ¬â€Žâªâ¯â€«â­â€Œâ€‹â€­â¯â€­â«â¯â¬â€­â€­â«â€Œâ€®â­â«â€­â€ªâ€«â­â€¬â€«â€ªâ€ªâ€® () <0x40884310 + 0x00874> in :0 at ..cctor () <0x40884100 + 0x00017> in :0 --- End of inner exception stack trace --- at Vintagestory.Server.Program.Main (System.String[] args) <0x408814c0 + 0x002bb> in :0 [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for '' threw an exception. ---> System.NullReferenceException: Object reference not set to an instance of an object at .‮‮‎‫‎âªâ€­â€‹â€ªâ€«âªâ¬â€Žâªâ¯â€«â­â€Œâ€‹â€­â¯â€­â«â¯â¬â€­â€­â«â€Œâ€®â­â«â€­â€ªâ€«â­â€¬â€«â€ªâ€ªâ€® () <0x40884310 + 0x00874> in :0 at ..cctor () <0x40884100 + 0x00017> in :0 --- End of inner exception stack trace --- at Vintagestory.Server.Program.Main (System.String[] args) <0x408814c0 + 0x002bb> in :0

异常似乎发生在它必须从外部库加载额外代码时,该外部库也在同一进程中进行了混淆。

我怎么能debug/fix这个呢?

更新:似乎也发生在 Windows Mono

更新 2:这里还有一个 github 问题条目,其中包含更多详细信息:https://github.com/yck1509/ConfuserEx/issues/535

我对单个 C# 使用了最大混淆级别 Class,它甚至没有被使用,但它是所需的外部库的一部分,这似乎是问题所在。

当我将混淆级别降低到 "Aggressive" 时,它就起作用了。不理想,但现在会做。

我还设置了“反调试”和“反篡改”保护动作移除。它对我有用。

<protection id="anti debug" action="remove"/>
<protection id="anti tamper" action="remove"/>