【问题标题】:Disable renaming in dotfuscator在 dotfuscator 中禁用重命名
【发布时间】:2010-12-04 04:16:46
【问题描述】:

我使用 dotfuscator 来保护我的源代码并禁用了重命名(以保持公共方法和类名正确),但是当我使用反射器查看加密后的程序集时,我注意到它们并没有太大变化。我仍然可以看到源代码。 有什么资料吗?

【问题讨论】:

    标签: asp.net dotfuscator


    【解决方案1】:

    您可以使用Obfuscation 属性精细地指定将从重命名阶段排除的内容。例如在一个属性上:

    [Obfuscation(Feature = "renaming", Exclude = true)]
    public int MyProperty
    {
        get { return this.prop; }
    }
    

    【讨论】:

      【解决方案2】:

      如果禁用重命名,则意味着程序集中的任何符号(方法、类型等)都不会被重命名,这会大大降低混淆的用处。

      如果您只想保留可公开访问的方法的名称而不是禁用重命名,请为要从重命名中排除其公共方法的每个程序集启用 library mode

      此外,自行重命名不会导致 Reflector 不显示反编译的源代码。为了打破反编译,您需要确保也启用了控制流混淆。

      【讨论】:

        【解决方案3】:

        dotfuscator 只会混淆您的代码,它不会完全隐藏它以防窥探。

        如果你真的想从 Reflector 中“隐藏”方法体,我建议你使用Clisecure。 Clisecure 可以使逻辑体消失,同时保留所有方法名。

        您可以选择混淆逻辑吗?你应该使用它;这会让你的逻辑更难理解。

        【讨论】:

          猜你喜欢
          • 2014-11-09
          • 2020-01-02
          • 2023-03-06
          • 2017-03-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-08-07
          • 2011-08-26
          相关资源
          最近更新 更多