0

我正在制作一个 C# (winforms) 应用程序,我希望用户只能执行定义的次数(比如 100 次)。我知道可以添加 xml 或文本文件来存储计数,但这很容易编辑或“破解”......是他们将计数器嵌入代码中的任何方式,或者可能不是任何其他方式容易破解?并且以后还可以轻松地“更新”另一段 100 次处决的成员资格?

提前致谢

4

4 回答 4

5

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

可能最安全的方法是将其编写在服务器上,并让应用程序在它想要​​运行时“调用 home”。

防止复制是一项难以平衡的行为——把你的合法客户当作罪犯对待,他们就会离开你。

于 2013-09-22T22:32:52.283 回答
0

如果您的应用程序是商业产品,则可能值得看看来自其他商业供应商(例如SafeNet.com)的安全产品。

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

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

他们的产品允许对您希望允许用户执行的操作进行非常细粒度的控制,例如应用程序在过期之前可以启动多少次(这正是您想要的)或过期时间,或功能包,或任何组合这一切。

不利的一面是,他们的许可价格非常“健康”。这是否值得取决于您自己的应用程序的大小和价格。

于 2013-09-23T10:22:02.450 回答
0

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

于 2013-09-23T02:24:07.623 回答
0

如果您谈论的是会员资格,您的应用程序可能已连接到网络。如果是这种情况,您可以根据服务器上的 Web 服务验证实例,该服务持有并增加计数并发出“运行正常/不正常”回复。

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

于 2013-09-22T22:41:18.683 回答