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" />
这显然降低了混淆的一些安全性,但它暂时解决了我们的问题。
我们正在 运行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" />
这显然降低了混淆的一些安全性,但它暂时解决了我们的问题。