【问题标题】:Check if Mac App was taken from Mac App Store with Cocoa检查 Mac App 是否是从带有 Cocoa 的 Mac App Store 获取的
【发布时间】:2011-05-19 08:35:45
【问题描述】:

我正在尝试向所有从 Mac App Store 购买我的应用程序的用户授予许可,以便为他们提供更快的更新。 我的想法是对应用程序的 Mac App Store 版本进行更新,让用户从应用程序本身进行注册。但是我在弄清楚如何测试该应用程序是否真的来自 Mac App Store 而不是来自盗版来源时遇到了问题。 有没有办法测试用户是否从 AppStore 购买了该应用程序。 Apple 不会发布此信息 - 好像它会发布一样 - 我可以测试该用户电子邮件是否在从 AppStore 下载该应用程序的人员列表中。

提前感谢您的帮助, 波格丹弗拉杜

【问题讨论】:

  • 您在问是否有办法计算给定输入是否在未知集合中。没有。你能让每个下载的版本略有不同吗,例如给他们序列号?我怀疑苹果会让你。如果他们 为所有内容添加水印,他们肯定不会让你参与其中。
  • 我还想在另一家商店发布我的应用程序 - 这将使我能够更快地更新 - 我想为已经从 Mac App Store 购买应用程序版本的用户提供来自其他商店的应用程序,因此他们还可以利用更快的更新,让他们知道如果他们选择从其他商店获取应用程序,他们将不再通过 MacAppStore 更新
  • 那真是太好了。但这就像要求您对列表进行排序而不告诉您一半的值是多少。如果没有你没有得到的信息,你就无法做到这一点。
  • 是的——这就是我想使用另一种方式的原因——也许是为了测试二进制文件是否有效并且没有经过调整。与代码设计有关 - 但不确定如何使用安全框架。

标签: cocoa macos licensing store


【解决方案1】:

您可以让您的应用程序的 MAS 版本将 Apple 签发的收据复制到 Application Support 文件夹。

独立版本可以在那里查找有效收据。如果有,它将表现得像完全许可的版本。如果没有,它将进入演示模式。

【讨论】:

【解决方案2】:

如果您从这个应用程序中赚到足够的钱来支付 DRM 和混淆,那就去吧。它可能会减慢海盗的速度,足以为您带来利润。

否则,您将自己的时间和技能与所有对盗版您的应用感兴趣的人进行较量。这是一场失败的战斗,除非你的应用真的不受欢迎,在这种情况下你又输了。

简而言之,没有任何算法可以确定。代码混淆是要走的路,希望盗版者不要发现“check-for-tampering”模块。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 2011-06-15
    • 1970-01-01
    • 2016-12-07
    • 1970-01-01
    相关资源
    最近更新 更多