Rob*_*ino 11
如果"最好"意味着最不容易破解,那么实际上只有一种方法:使其成为基于互联网的"软件即服务"应用程序.如果您不提供访问权限,则表示他们不使用该软件.如果它是基于桌面的应用程序,那么某些关键功能仍然必须在某个地方的在线服务器上.
如果黑客在其本地计算机上拥有整个应用程序,则可以进行逆向工程并以某种方式"破解".克服这个问题的唯一方法是确保功能的某些部分永远不会在他们的机器上.
我认为更好的解决方案是功能受限的应用程序 - 比如你可以做基本的操作,但是要利用你获得付费许可证的最佳功能.这样做有两件事 - 假设你的应用程序做得好并且对各种用户都很有趣.首先,您可以让更多人尝试使用您的应用.其次,你可以通过免费发布你的"精简版"获得一些善意.
如果你真的需要进行限时试用,那么我会考虑让它将加密密钥写入注册表(windows)或点文件(linux).此密钥可以编码到期日期.使用可逆加密可以让您恢复此值.使用密钥有助于防止某人生成自己的(有效)密钥.完全许可的应用程序可以使用相同的密钥机制,但加密允许永久使用的密钥值.
从我对application-expiration-date-in-an-application/1871218#1871218的回答:
用户最友好的做法是跟踪用户使用软件的天数.例如,每次程序启动时,您都可以将日期写入加密文件(除非文件中已存在该日期).然后,一旦文件中有超过30个日期,让用户知道是时候购买完整版本了.
Beyond Compare等真实产品使用此方案 - 非常适合安装产品的潜在客户,并且仅在30天内不使用它才能发现试用期已过期.
另外请记住,您的方案不一定非常完美,只需要使其足够强大,以免用户破坏它.
归档时间: |
|
查看次数: |
3193 次 |
最近记录: |