Windows phone 7 Dotfuscator似乎不坚持重命名排除正则表达式

Windows phone 7 Dotfuscator似乎不坚持重命名排除正则表达式,windows-phone-7,obfuscation,dotfuscator,Windows Phone 7,Obfuscation,Dotfuscator,我们已经决定使用Dotfuscator来混淆我们的代码。我们的是Windows Phone应用程序,我们使用的是Dotfuscator Windows Phone Edition版本4.9.7000.29303。我们了解到System.Reflection.ObfuscationAttribute类在Silverlight中不可用,因此无法对需要排除的某些类型使用排除属性。我们现在计划在dotfuscator中使用Rename>Exclude选项卡,并排除带有某些特定后缀的类型。在实现之前,我们

我们已经决定使用Dotfuscator来混淆我们的代码。我们的是Windows Phone应用程序,我们使用的是Dotfuscator Windows Phone Edition版本4.9.7000.29303。我们了解到System.Reflection.ObfuscationAttribute类在Silverlight中不可用,因此无法对需要排除的某些类型使用排除属性。我们现在计划在dotfuscator中使用Rename>Exclude选项卡,并排除带有某些特定后缀的类型。在实现之前,我们创建了一个试验项目,并对其进行了混淆测试。我们在测试中发现,输出不符合执行规则。尽管预览窗口显示了预期的结果,但输出仍然包括应排除的类型。请参见下面Dotfuscator窗口的屏幕截图。箭头左侧的预览窗口正确显示了将从模糊处理中排除的着色类型,但在箭头右侧,相同类型的输出仍然模糊了这些类型。发生了什么事?

我不完全理解您试图用正则表达式实现什么,但就使用属性控制混淆而言,您可以包括一个库

要包含的库通常位于

C:\Program Files(x86)\PreEmptive Solutions\Dotfuscator (version and edition)\Attributes\Windows Phone\PreEmptive.ObfuscationAttributes.dll
下面是一个关于如何从重命名中排除某些内容的示例,例如:

[Obfuscation(Feature = "renaming", Exclude = true)]
public int Foo{get;set;}
您可以在上找到有关使用属性控制模糊处理的更多详细信息,并且可以在《通用用户指南》中找到


如果您想改为使用正则表达式,还可以查看文档以创建。你必须为我提供更多的信息,以了解你试图为我做些什么,以便我能够提供帮助。从你的截图来看,一切似乎都是我所期望的

我不完全理解您试图用正则表达式实现什么,但就使用属性来控制混淆而言,您可以包括一个库

要包含的库通常位于

C:\Program Files(x86)\PreEmptive Solutions\Dotfuscator (version and edition)\Attributes\Windows Phone\PreEmptive.ObfuscationAttributes.dll
下面是一个关于如何从重命名中排除某些内容的示例,例如:

[Obfuscation(Feature = "renaming", Exclude = true)]
public int Foo{get;set;}
您可以在上找到有关使用属性控制模糊处理的更多详细信息,并且可以在《通用用户指南》中找到


如果您想改为使用正则表达式,还可以查看文档以创建。你必须为我提供更多的信息,以了解你试图为我做些什么,以便我能够提供帮助。从你的截图来看,一切似乎都是我所期望的

请再次参考屏幕截图,在预览部分,Dotfuscator已根据我们提供的自定义正则表达式灰显App、MainPage和testClass类型,这意味着(根据帮助文档),这些类型将被排除在混淆之外。这是正确的,我们对预览没有问题。但是,请参见输出,Dotfuscator仍然混淆了App、MainPage和testClass,根据预览,它不应该混淆这些内容。你能解释一下为什么会这样吗?不过,非常感谢您指向PreEmptive的模糊属性程序集,我认为我们可以使用它并避免正则表达式路由。@amrahs ahhh好的,我明白您的意思了。您必须右键单击您的正则表达式规则,然后将该正则表达式规则添加为方法、属性等规则。它之前排除的只是类型名称,而不是整个类型及其所有成员。请再次参考屏幕截图,在预览部分,Dotfuscator根据我们提供的自定义正则表达式将App、MainPage和testClass类型显示为灰色,这意味着(根据帮助文档),这些类型将被排除在混淆之外。这是正确的,我们对预览没有问题。但是,请参见输出,Dotfuscator仍然混淆了App、MainPage和testClass,根据预览,它不应该混淆这些内容。你能解释一下为什么会这样吗?不过,非常感谢您指向PreEmptive的模糊属性程序集,我认为我们可以使用它并避免正则表达式路由。@amrahs ahhh好的,我明白您的意思了。您必须右键单击您的正则表达式规则,然后将该正则表达式规则添加为方法、属性等规则。它之前排除的只是类型名,而不是整个类型及其所有成员