Obfuscar .NET 混淆中断对 My.Computer 的引用

Obfuscar .NET Obfuscation Breaks References to My.Computer

我们正在 运行ning .NET 应用程序,在 Obfuscar 混淆 dll 中引用 My.Computer。似乎这些引用在 运行 时间抛出异常。例如:

代码:

Dim str As String = My.Computer.Name

留言:

The type initializer for 'a.aa' threw an exception.

内部异常:

   System.MissingFieldException: Field not found: 'a`1.W'.
   at a.aa.a`1..ctor()
   at a.aa..cctor()

从这些错误消息来看,Obfuscar 似乎在混淆对 My.Computer.Name 的引用。 (.NET Reflector 显示 aa.A.Name。)我不确定这是怎么回事,因为它是 "external" 参考。

使用不同的方法来获取计算机名称似乎确实有效,但我们的代码中有很多对 My.Computer 的引用,最好弄清楚如何让 Obfuscar 不打破这些,而不是小心翼翼地绕过它们。

我想我正在寻找一个 Obfuscar XML 条目来跳过这些引用,除非有人有更好的想法。

万一有人发现这个,我们的解决方案是将以下标志设置为 false:

<Var name="HidePrivateApi" value="false" />

这显然降低了混淆的一些安全性,但它暂时解决了我们的问题。