C# 如何限制.net应用程序执行特定次数

C# 如何限制.net应用程序执行特定次数,c#,.net,visual-studio-2010,C#,.net,Visual Studio 2010,我正在制作一个C#(winforms)应用程序,我希望用户只能执行定义的次数(比如100次)。我知道可以添加xml或文本文件来存储计数,但这很容易编辑或“破解”。。。他们有没有办法在代码中嵌入计数器,或者有没有其他不容易破解的方法?而且,它也很容易以后“更新”的成员,为另一个时期的100执行 提前感谢存储变量的方法很多。正如您所指出的,您可以将其写入文本或xml文件。您可以将其写入注册表。你可以对它进行加密并将其写入某个文件中 最安全的方法可能是将其写入服务器,并让应用程序在需要运行时“呼叫总部

我正在制作一个C#(winforms)应用程序,我希望用户只能执行定义的次数(比如100次)。我知道可以添加xml或文本文件来存储计数,但这很容易编辑或“破解”。。。他们有没有办法在代码中嵌入计数器,或者有没有其他不容易破解的方法?而且,它也很容易以后“更新”的成员,为另一个时期的100执行


提前感谢

存储变量的方法很多。正如您所指出的,您可以将其写入文本或xml文件。您可以将其写入注册表。你可以对它进行加密并将其写入某个文件中

最安全的方法可能是将其写入服务器,并让应用程序在需要运行时“呼叫总部”


防止复制是一个很难平衡的行为——将合法客户视为罪犯太多,他们会离开你。

存储变量的方法很多。正如您所指出的,您可以将其写入文本或xml文件。您可以将其写入注册表。你可以对它进行加密并将其写入某个文件中

最安全的方法可能是将其写入服务器,并让应用程序在需要运行时“呼叫总部”


防止复制是一个很难平衡的行为-将合法客户视为罪犯太多,他们会离开你。

如果你谈论的是会员身份,你的应用程序可能是网络连接的。如果是这种情况,您可以根据服务器上的web服务验证实例,该web服务保存并增加计数,并发出“OK/NotOK to run”回复


如果您不想这样做,我听说有一个应用程序使用隐写术在某些文件中隐藏相关细节-您可以在一些图像资源中隐藏您的计数。

如果您谈论的是会员资格,您的应用程序可能是网络连接的。如果是这种情况,您可以根据服务器上的web服务验证实例,该web服务保存并增加计数,并发出“OK/NotOK to run”回复


如果你不想这样做,我听说有一个应用程序使用隐写术在某些文件中隐藏相关细节-你可以在一些图像资源中隐藏你的计数。

创建多个包含计数器的文件或你的应用程序将运行的次数。将这些文件命名为不同的文件名,并将其存储在不同的位置,这样用户就很难找到、删除和破解这些文件。之所以不只是一个文件,是因为如果用户发现了您的一个文件并对其进行了更改或删除,您仍然有其他文件包含有关应用程序的有效信息

创建多个包含计数器或应用程序运行次数的文件。将这些文件命名为不同的文件名,并将其存储在不同的位置,这样用户就很难找到、删除和破解这些文件。之所以不只是一个文件,是因为如果用户发现了您的一个文件并对其进行了更改或删除,您仍然有其他文件包含有关应用程序的有效信息

如果您的应用程序是一个商业产品,那么不妨看看其他商业供应商的安全产品,例如

几年前,我在一个项目中使用了HASP HL硬锁,效果很好

它们提供用于软件保护的硬件加密狗和基于软件的保护(通过互联网使用身份验证服务),以及两者的组合

他们的产品允许非常细粒度地控制您希望允许用户使用的内容,例如,在应用程序过期(这正是您想要的)或时间过期之前,或功能包,或所有这些的任何组合之前,可以启动多少次

缺点是,它们的许可价格非常“健康”。
如果这是值得的,它将取决于您自己的应用程序的大小和价格。

如果您的应用程序是一个商业产品,那么可能值得一看其他商业供应商的安全产品,例如

几年前,我在一个项目中使用了HASP HL硬锁,效果很好

它们提供用于软件保护的硬件加密狗和基于软件的保护(通过互联网使用身份验证服务),以及两者的组合

他们的产品允许非常细粒度地控制您希望允许用户使用的内容,例如,在应用程序过期(这正是您想要的)或时间过期之前,或功能包,或所有这些的任何组合之前,可以启动多少次

缺点是,它们的许可价格非常“健康”。
这是否值得,将取决于您自己应用程序的大小和价格。

无论您做什么,都会有办法解决。不是真的,不是。但请放心,您的软件不太可能被破解。无论您做什么,都会有办法解决。不是真的,不。但请放心,您的软件不太可能被破解。我还建议使用HTTPS连接,因为任何人都可以拦截和更改纯文本的边界值。我还建议使用HTTPS连接,因为任何人都可以拦截和更改纯文本的边界值。