【问题标题】:Dotfuscator Seems Not Adhering To Renaming Exclusion RegExDotfuscator 似乎不遵守重命名排除 RegEx
【发布时间】:2023-03-06 23:43:01
【问题描述】:

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

【问题讨论】:

    标签: windows-phone-7 obfuscation dotfuscator


    【解决方案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 的文档。您必须为我提供更多信息,以了解您要为我做什么才能提供帮助。鉴于您的屏幕截图,一切似乎都是我所期望的。

    【讨论】:

    • 请再次参考屏幕截图,在预览部分,Dotfuscator 根据我们提供的自定义正则表达式将 App、MainPage 和 testClass 类型灰显,这意味着(根据帮助文档),这些类型将是从混淆中排除。这是正确的,我们对预览没有问题。但是,请参阅输出,Dotfuscator 仍然混淆 App、MainPage 和 testClass,它不应该按照预览。您能解释一下为什么会出现这种情况吗?不过,非常感谢您指点 PreEmptive 的混淆属性组件,我想我们可以使用它并避免 RegEx 路线。
    • @amrahs 啊,好吧,我明白你的意思了。您必须右键单击您的正则表达式规则,然后将该正则表达式规则添加为方法、属性等规则。它之前排除的只是类型名称,而不是整个类型及其所有成员
    猜你喜欢
    • 2016-03-24
    • 1970-01-01
    • 2011-09-18
    • 1970-01-01
    • 2020-01-02
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多