gpt4 book ai didi

cocoa - Mac App Store 收据验证码?

转载 作者:行者123 更新时间:2023-12-03 16:00:40 25 4
gpt4 key购买 nike

想知道是否有人有新 Mac App Store 收据验证的教程或工作代码?到目前为止,我能找到的唯一引用资料是苹果关于该主题的出色文档和一个开源项目,该项目可以编译,但没有很多内联注释,因此很难理解,除非您是加密高手。

仅适用于注册开发者的 Apple 文档:

https://developer.apple.com/devcenter/mac/documents/validating.html

Roddi 的 ValidateStoreReceipt(看起来很有前途,但记录很少):

https://github.com/roddi/ValidateStoreReceipt

还想知道为什么 Apple 不只提供用于验证的工作代码?

还有其他好的引用吗?

最佳答案

很难为 Mac App Store 收据验证提供通用解决方案,主要是因为这是一段非常敏感的代码,很难绕过(参见 Apple documentation )。

这些 GitHub 项目是了解收据验证中必须执行哪些步骤的非常好的起点:

一旦您了解了必须做什么,这里有一些建议:

  • 不要使用 Objective-C 类或方法。 Objective-C 携带大量元数据,其动态特性使其容易受到运行时注入(inject)的影响。
  • 仅使用 C 函数调用。即使您需要使用 CoreFoundation 框架编写更多代码行,您也可以完美地完成 Foundation 框架可以完成的工作(NSString、NSArray、NSDictionary...)。
  • 不要与 OpenSSL 动态链接库,因为它在 Mac OS X Lion 中已被弃用。如果你想和OpenSSL一起去,静态链接它以确保拥有最新版本。
  • 使用系统函数进行加密。 Mac OS X 自 10.5 起就附带了同等功能。例如,要计算 SHA-1 哈希值,您可以使用 CC_SHA1功能。
  • 不要在代码中以明文形式放置字符串。对它们进行编码或加密。如果您未能这样做,则会给出有关代码位置的提示。
  • 不要在代码中使用数字常量。在运行时通过一些简单的操作(+、-、/或*)计算它们。同样,如果您未能这样做,则会给出有关代码位置的提示。
  • 通过嵌入测试和调用 NSApplicationMain 来避免简单的验证测试。进入一个复杂的循环。
  • 避免直接调用 NSApplicationMain。使用函数指针来隐藏调用。如果您未能这样做,则会给出有关代码位置的提示。
  • 对于应用程序的每个版本,请稍微修改验证代码,使其永远不会相同。

请记住,收据验证是必要的,而且并不像看起来那么简单。它可能会消耗大量时间,您最好将这些时间花在您的应用程序上。

所以我建议你看看这个应用程序:Receigen (免责声明:我是该应用程序的开发者)。

关于cocoa - Mac App Store 收据验证码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4261348/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com