Bas*_*Ben 13 hidden licensing invisible file
我正在编写一个商业产品,它使用简单的注册机制,允许用户在购买前使用该应用程序进行演示.
我的应用程序必须在某处存储注册信息(如果输入)和/或第一次启动的日期,以计算用户是否仍在演示/试用期内.虽然我已经完成了注册机制本身,但我现在必须找到一种将注册信息存储在用户磁盘上的好方法.
最明显的想法是将试用期存储在首选项文件中,但由于用户倾向于不时删除/修改试用期,因此将注册信息保存在单独的,更隐藏的文件中可能是个好主意.
所以这是我的问题:在Windows,Mac OS X和Linux上保留和创建隐藏文件的最佳位置/策略是什么?到目前为止,我想到的是:
当涉及到用户可以写文件的地方时,大多数类Unix系统都被锁定了.在大多数情况下,这只是/tmp
目录和用户的主目录.我想这里最简单的可能就是创建一个带有点前缀的文件,使其不太明显,然后给它一个名称,使其与我的应用程序无关.
可能与Linux/Mac OS X非常相似 - 在文件系统权限方面,更新的Windows版本变得更加严格.
无论如何,我想听听你的想法和想法.如果你已经实现过类似的东西,那就更好了.
谢谢!
对我来说,如果复制保护的这种方式好或坏,这些文件的位置比问题的讨论更相关.
谁在乎你把文件放在哪里。它是您想要保护的内容。
在服务器端,使用私钥对用户信息进行加密/签名并将其分发给用户。通过电子邮件发送许可证文件,让应用程序连接并下载它,等等。
在您的应用程序中包含公钥。如果您无法验证/解密文件,则失败。如果可以的话,继续工作。仅当您无法验证许可证文件时,您才需要重新连接到服务器。你只需要最原始的“许可证服务器”来支持这一点。如果您通过电子邮件发送文件,“许可证服务器”只是一个加密字符串并向用户发送电子邮件的脚本。
没有什么可以保护您免受黑客应用程序的复杂尝试。但此解决方案将阻止临时用户破坏您的许可证。
如果您想防止用户多次重新注册或与他们的朋友共享许可证文件,请在服务器端记录他们的 MAC 地址并在许可证文件中。就我个人而言,我不会这样做。它不会阻止老练的黑客,但你可以决定在猫捉老鼠的游戏中花费多少时间。