1

我在我的 .NET 项目中使用 Crypto Obfuscator,我想使用“混淆规则”从混淆中排除某些类,但似乎不起作用。

首先,我尝试以这种方式使用 ObfuscationAttribute:

<ObfuscationAttribute(ApplyToMembers:=True, Exclude:=True)> _
Public Class DynamicClass
Public Overrides Function ToString() As String
    Dim props = Me.GetType().GetProperties(BindingFlags.Instance Or BindingFlags.Public)
    Dim sb As New StringBuilder()
    sb.Append("{")
    For i As Integer = 0 To props.Length - 1
        If (i > 0) Then sb.Append(", ")
        sb.Append(props(i).Name)
        sb.Append("=")
        sb.Append(props(i).GetValue(Me, Nothing))
    Next i
    sb.Append("}")
    Return sb.ToString()
End Function
End Class

但 Crypto Obfuscator 继续混淆所有内容并始终显示方法“ToString”的警告。

然后我尝试从 Crypto Obfuscator 添加一个显式的混淆规则:

不要混淆,适用于:{Classes},可见性:{All},名称匹配:“ct:DynamicClass”

而且这种方式也行不通。

我哪里错了?我必须启用一些特殊设置才能使其工作?

有人可以帮助我吗?

4

1 回答 1

0

忘了它...

我使用 Crypto Obfuscator 2012 R2 Professional,问题与“专业”许可证施加的限制有关;现在我已经测试了 Crypto Obfuscator 2013 R2 Enterprise 的试用版,它可以工作。

于 2013-11-05T16:34:35.113 回答