可能重复:
需要有关实施限时试验的建议
我需要将试用期添加到我的 .NET 应用程序中。听说破解.NET应用比破解原生exe应用容易。所以我不想使用付费的第三方解决方案来做到这一点,因为我认为这有点毫无意义:如果有人想破解它,他无论如何都会这样做。
但是我应该使用什么来尽可能保护应用程序不被破解呢?
可能重复:
需要有关实施限时试验的建议
我需要将试用期添加到我的 .NET 应用程序中。听说破解.NET应用比破解原生exe应用容易。所以我不想使用付费的第三方解决方案来做到这一点,因为我认为这有点毫无意义:如果有人想破解它,他无论如何都会这样做。
但是我应该使用什么来尽可能保护应用程序不被破解呢?
无论您如何打包或混淆您的程序集,互联网上总会有一些人能够破解它。如果您的程序包含从服务器接收的动态信息,您应该使用该服务器保护它,验证是否允许指定的用户/机器获取信息,他们无法破解任何服务器端内容(除非他们侵入您的服务器)。很可能需要数据库来执行此操作。
如果你没有任何动态内容(我认为你应该总是有一些,特别是在使用试用期时),我会去混淆&如果你有时间,看看如何制作你自己的混淆器,这样破解者将需要更多是时候破解您自定义的混淆方式了,如果您使用流行的混淆器之一,破解者将在 1 秒内拥有大量程序来反混淆。
如果您将任何信息存储在注册表甚至您的服务器中,您应该对其进行加密。加密并尝试隐藏加密方法(这些是您真正应该混淆的功能)。
这个问题也有一些有用的答案。