【问题标题】:Dotfuscator with a Web App带有 Web 应用程序的 Dotfuscator
【发布时间】:2010-03-10 20:55:48
【问题描述】:

我有一种情况,客户希望他们的源代码具有最低限度的安全性。这是一个网络应用程序,主机将是他们将与之合作的人。令人担心的是,主机很容易对代码进行逆向工程并在旁边设置商店。我告诉他们虽然这不是一个真正的解决方案,但混淆代码会使其变得更加困难。

我的第一个问题:我无法混淆强命名程序集。我相信我可以跳过混淆这些程序集,同时保持与非混淆程序集的链接,但由于我的第二个问题,我无法轻松测试。

我的第二个问题:我无法混淆 Web(代码隐藏)程序集,因为从标记到它们的类的链接以及标记页面调用的方法都已损坏。

【问题讨论】:

  • 在我看来,这里真正的解决方案是找到一个可以信任的主机。

标签: .net asp.net web-applications dotfuscator


【解决方案1】:

您可以很好地混淆强命名程序集,只要您有密钥,您就可以在混淆后将它们退出。使用免费的 Dotfuscator 社区版,您需要手动对输出进行签名,使用专业版,它可以使用强名称和/或 Authenticode 签名自动对输出进行签名,作为混淆过程的一部分。

您也可以混淆程序集后面的代码,但您需要确保将标记中引用的任何类型排除在重命名之外。同样,在社区版和专业版中都可以通过设置重命名排除规则(文字匹配或基于正则表达式)或选择要从重命名中排除的单个类型和成员来实现。所有这些都可以在 Dotfuscator 用户界面的重命名部分中访问。

如果您有有效的支持订阅,并且在混淆时遇到任何特定问题,您可以直接通过 PreEmptive web page 联系支持人员,或者 PreEmptive 还托管 public forums,您可以在其中发布特定问题。

【讨论】:

    【解决方案2】:

    您可以使用事件绑定在代码中而不是在 aspx 文件中进行控制。 就像在 c# btnSave.Click += Save_Click 中一样,并且有 `private void Save_Click(...)。

    您还可以将公共/受保护方法代码划分为小的私有方法,您可以从实际的公共/受保护方法中调用这些方法,并选择仅对不会破坏标记链接的私有方法进行混淆(我认为这是混淆的库模式Dotfuscator。)

    这将使您获得更高的混淆率。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多