【问题标题】:Adding the trial period to .NET application [duplicate]将试用期添加到 .NET 应用程序 [重复]
【发布时间】:2012-05-13 09:10:53
【问题描述】:

可能重复:
Need Advice on Implementing a Time-limited Trial

我需要将试用期添加到我的 .NET 应用程序。听说破解.NET应用比破解原生exe应用容易。所以我不想使用付费的第三方解决方案来做,因为我觉得这有点没有意义:如果有人想破解它,他无论如何都会这样做。

但是我应该使用什么来尽可能保护应用程序不被破解?

【问题讨论】:

  • 您说“如果有人想破解它,他无论如何都会这样做”,然后您说“但是我应该使用什么来保护应用程序不被破解尽可能强?” - 悖论多少?
  • 不,我只是想让破解的可能性复杂化。
  • 混淆。但如果有人真的想破解它,.NET 让它变得相对简单。
  • 我认为共识是保持简单。如果您真的想给破解者一个真正的挑战,那么您将花费更多时间进行许可验证,而不是您的实际程序。我认为普通用户更倾向于用信用卡购买大约 5 美元的应用程序,而不是花一个星期天下午试图破坏你的系统。

标签: .net protection shareware


【解决方案1】:

无论您如何打包或混淆您的程序集,互联网上总会有一些人能够破解它。 如果您的程序包含从服务器接收的动态信息,您应该使用该服务器保护它,验证是否允许指定的用户/机器获取信息,他们无法破解任何服务器端内容(除非他们侵入您的服务器)。很可能需要数据库来执行此操作。

如果你没有任何动态内容(我认为你应该总是有一些,尤其是在使用试用期时),我会去混淆,如果你有时间,看看如何制作你自己的混淆器,这样破解者需要更多时间来破解您自定义的混淆方式,如果您使用流行的混淆器之一,破解者将在 1 秒内有大量程序进行反混淆。

如果您将任何信息存储在注册表甚至您的服务器中,您应该对其进行加密。 加密并尝试隐藏加密方法(这些是您真正应该混淆的功能)。

This question 也有一些有用的答案。

【讨论】:

  • 我要补充一点,除了加密数据之外,您还应该使用 SSL 加密网络流量。我认为使用数据包分析器来弄清楚服务器身份验证的工作原理是相当容易的,然后以某种方式对其进行欺骗。
  • 如果您的服务器上有可用的 SSL,您应该使用它,谢谢指出,忘记了。如果您没有 SSL,您也可以只自定义加密/解密数据,这样破解者将需要弄清楚您如何再次加密它并开始厌倦它。
猜你喜欢
  • 1970-01-01
  • 2014-05-04
  • 2017-08-05
  • 1970-01-01
  • 1970-01-01
  • 2019-01-01
  • 1970-01-01
  • 2018-02-10
  • 1970-01-01
相关资源
最近更新 更多