|
13
|
| BastiBen · 技术社区 · 16 年前 |
|
|
1
4
谁在乎你把文件放哪儿了。它是你想要保护的内容。 在服务器端,使用私钥对用户信息进行加密/签名,并将其分发给用户。通过电子邮件发送许可证文件,让应用程序连接并下载它,不管怎样。 在应用程序中,包括公钥。如果无法验证/解密文件,则失败。如果可以,继续运行。只有在无法验证许可证文件时,才需要重新连接到服务器。您只需要最原始的“许可服务器”来支持这一点。如果您通过电子邮件发送文件,“许可证服务器”只是一个对字符串加密并向用户发送电子邮件的脚本。 没有什么能保护你免受黑客入侵你的应用程序的复杂企图。但是这个解决方案将拒绝临时用户破坏您的许可证的能力。 如果要防止用户多次重新注册或与朋友共享许可证文件,请在许可证文件中记录其mac地址服务器端。就我个人而言,我不会这么做。它不会阻止老练的黑客,但你可以决定花多少时间玩猫捉老鼠的游戏。 |
|
|
2
1
对于Windows,您可以尝试使用 Isolated Storage ,它将文件存储在一个产品特有的位置,该位置通常非常模糊(并且具有相当深的路径),并且具有对开发人员完全透明的优点。 |
|
|
3
0
posix系统应该将应用程序数据放在用户主目录中的隐藏文件中。Windows系统应该在
|
|
|
4
0
老实说,不管你做什么,你都会被发现的。如果您的系统是自包含的,也就是说,它不需要在运行时连接到Internet或其他设备,那么两个锁都是 和 密钥必须在代码或写入磁盘的数据中。因此,当您可以混淆密钥(甚至可能是锁)时,系统的所有者可以调用系统跟踪工具或其他任何工具来找到您。但我想你知道。每个主要的软件供应商都尝试过各种方法来实现这一点,但每次都失败了。 我认为你唯一真正的希望是定期把你的软件手机放在家里,看看它是否还有有效的许可证。 |
|
|
5
0
为了说明这种方法的问题,有一个基于linux的媒体服务器将其免费试用时间戳存储在
如果你是一个开发人员,你将不得不花费大量的金钱和/或时间来实施一个保护计划,这个计划只需要一个人破解,每个人都可以使用。当然,您的目的可能只是为了阻止偶然的软件盗版,在这种情况下,即使是最基本的保护(如上面描述的方法)也可以做到这一点。 |
|
|
6
0
特别是在Mac上,如果是用户许可证,这种文件应该存在于~/library/application support/yourappname中,如果是机器许可证,则应该存在于/library/application support/yourappname中。 当用户授权我的应用程序时,我会将文件写入~/library/application support/myappname,因为这不需要特殊的权限,但是如果我创建了一个机器许可证,请尝试从两个位置读取该文件,以允许使用机器许可证。 |
|
|
7
-1
使用Windows版本的注册表。 它是为将数据保存在一个中心位置而构建的,而且作为一个额外的好处,如果用户删除了整个文件夹,则设置仍位于寄存器中(*) here on stackoverflow 是一篇描述如何使用Java编程语言访问ReistSsRy的文章。 我不认为Mac有这样的东西,我知道Linux当然没有,但这是一个开始。 (*)注册对于那些可以轻松删除属于你的应用程序的密钥的修补用户来说当然也是不安全的。 |