非MAS应用程序:实施许可证验证,或者不要?

时间:2014-05-25 15:56:52

标签: macos cocoa mac-app-store license-key cracking

在过去的几周里,我开发并发布了一款小型OS X实用程序,在Mac App Store中的售价约为3美元。但是,由于适用于包含加密机制的应用程序的法国出口法律,该应用程序在法国应用程序商店中不可用。 (它发布并使用libssh2并通过SSH实现SCP,因此不使用操作系统提供的加密机制" - 注册过程全部使用法语,Apple和法国政府都没有似乎能够帮助解决这个问题。)

当我收到一堆电子邮件,询问为什么该应用程序目前在法语Mac App Store中不可用时,我想到提供该应用程序的非MAS版本。回到我最初的问题,我不确定是否要花时间实施任何类型的许可证密钥检查等,或者只是在没有DRM /许可证检查的情况下完全提供该版本,因为它肯定会以任何方式破解。 (Mac App Store版本现在已经有很长一段时间了,所以无论我最终做什么,无论谁想要窃取应用都会有用。)

所以,我想问你们,你们是如何处理这个问题的,或者如果你处在我的情况下你会怎样处理这个问题?是否花时间实施将以任何方式破解的许可证密钥检查,或者仅提供在法国销售的非DRM版本以使每个人都满意?

感谢。

免责声明:来自HN的原始主题(https://news.ycombinator.com/item?id=7796397

更新完成此操作:

我最终决定为Mac App Store版本实施许可证验证,这对用户来说非常轻松。在最好的情况下,他甚至没有注意到这一点,在最坏的情况下(在应用程序包中没有找到收据)应用程序将触发商店代理下载收据然后成功重新启动。很简单。

对于非Mac App Store版本(由于上面介绍的法语App Store问题我已经介绍过),我坚持与第三方承包商合作,为我处理所有许可。

我想这种方式在安全性和积极的用户体验之间是一个很好的权衡。感谢您的投入。

1 个答案:

答案 0 :(得分:3)

根据我的经验,如果您要销售该软件,您应该考虑使用非常轻量级的许可检查程序。正如您所指出的,如果他们有充分的动力,人们会破坏您的DRM,因此您无法阻止故意盗版。但是,有一个简单的系统可以提醒在线下载软件的用户应该为此付费(如果提供基本的试用系统是有意义的话),这是一种合理的方法。

但是,不要花太多时间来实施系统,并确保在每次发布之前彻底测试密钥系统,因为尝试向用户解释您不小心让它变得不可能让他们使用他们付出的软件是你永远不想做的事情。

是否会被黑客攻击的问题是,管理许可的开销是否会超过利润。例如,我发现使用非常便宜的应用的用户基本上都有一个复选框,用于购买应用的用户,以便在试用版中关闭提醒。非常类似共享软件,但考虑到许可问题的成本和潜在的审查麻烦,可能值得考虑这种方法。

如果您想付出更多努力,有一些开源库,包括提供更复杂保护的Aquatic Prime,但需要与您正在使用的任何类型的在线商店集成。由于它在社区中得到了相当广泛的使用,因此像FastSpring这样的商店系统提供了与它的内置集成。此外,看起来开源Potion Store支持开箱即用。我个人没有使用它。

除此之外,我的经验是创建/调试/支持是一件很大的痛苦,除非您的应用程序价格昂贵,需要特殊功能,如部分启用,到期许可,区域测试,实时撤销等。 ,做任何自定义的事情可能都不值得。