创建仅在预定义试用期(评估期)内工作的程序的最佳方法是什么?

xRo*_*bot 3 c c++ trialware cracking

我需要创建一个30天后无法运行的简单应用程序.

我怎样才能做到这一点 ?

有没有办法在30天后使用试用程序?

Tuo*_*nen 12

30天后总有一种方法可以使用试用程序.


Rob*_*ino 11

如果"最好"意味着最不容易破解,那么实际上只有一种方法:使其成为基于互联网的"软件即服务"应用程序.如果您不提供访问权限,则表示他们不使用该软件.如果它是基于桌面的应用程序,那么某些关键功能仍然必须在某个地方的在线服务器上.

如果黑客在其本地计算机上拥有整个应用程序,则可以进行逆向工程并以某种方式"破解".克服这个问题的唯一方法是确保功能的某些部分永远不会在他们的机器上.

  • 我*HATE*Web应用程序,但基本上它们是这个问题的解决方案.不过,不确定这是不是一个问题.专业地使用该软件的人,即使没有任何软件保护,通常也会为此付费(看看甲骨文和IBM ......),盗用它的人,无论如何都不会买它,而如果他们盗版你得到它能见度和人们将学习您的软件. (3认同)

tva*_*son 7

我认为更好的解决方案是功能受限的应用程序 - 比如你可以做基本的操作,但是要利用你获得付费许可证的最佳功能.这样做有两件事 - 假设你的应用程序做得好并且对各种用户都很有趣.首先,您可以让更多人尝试使用您的应用.其次,你可以通过免费发布你的"精简版"获得一些善意.

如果你真的需要进行限时试用,那么我会考虑让它将加密密钥写入注册表(windows)或点文件(linux).此密钥可以编码到期日期.使用可逆加密可以让您恢复此值.使用密钥有助于防止某人生成自己的(有效)密钥.完全许可的应用程序可以使用相同的密钥机制,但加密允许永久使用的密钥值.


Jus*_*ier 6

从我对application-expiration-date-in-an-application/1871218#1871218的回答:

用户最友好的做法是跟踪用户使用软件的天数.例如,每次程序启动时,您都可以将日期写入加密文件(除非文件中已存在该日期).然后,一旦文件中有超过30个日期,让用户知道是时候购买完整版本了.

Beyond Compare等真实产品使用此方案 - 非常适合安装产品的潜在客户,并且仅在30天内不使用它才能发现试用期已过期.

另外请记住,您的方案不一定非常完美,只需要使其足够强大,以免用户破坏它.