Dotfuscator似乎不遵守重命名排除RegEx

时间:2013-04-04 16:40:37

标签: windows-phone-7 obfuscation dotfuscator

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

1 个答案:

答案 0 :(得分:1)

我并不完全理解您使用正则表达式尝试完成的任务,但是就使用属性来控制混淆而言,您可以包含一个库。

要包含的库通常位于

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;}

您可以在this link找到有关使用属性控制混淆的详细信息,并且可以使用常规用户指南here

如果您想改为使用正则表达式路线,您还可以查看用于创建custom rules的文档。你必须为我提供更多信息才能理解你为我提供的帮助。鉴于你的截图,一切似乎都是我所期待的。