动态调用私有API而不被App Store察觉

5

最近,我听说一些中国iOS开发者成功地欺骗了App Store的私有API检查系统,并且他们通过动态调用私有API的应用程序已经获得批准并在应用商店中提供。

到目前为止,这些故事都集中在WebKit私有API上。他们声称通过调用这些私有的WebKit API,他们成功地获取了iPhone用户的个人数据。

我必须说我很困惑。我的问题是:

  • 他们的说法合理吗?(即通过WebKit私有API可以访问用户的数据吗?)

我对可能实现该任务的方法的思考。

  • 通过performSelector:方法
  • 通过NSInvocation
  • 通过这个所谓的万能而神秘的反射东西

我不认为这是可能的。但我的iOS经验有限,所以我对自己的判断不太有信心。欢迎任何建议。 :)


最终,只要进行足够的研究等工作,一切皆有可能。 - Daniel
1
不幸的是,我们所知道的关于苹果检查私有API使用的方式都是轶事,因为他们不公开其处理过程。这里建议的任何解决方法可能会在苹果更改审核流程后立即失效。 - Brad Larson
2
访问私有API从来都不是问题。例如,你的代码包含了乱序的符号名称,它会在运行时解密这些名称,使用动态链接器查找它们的地址,然后通过地址调用函数/方法。话虽如此,你最好知道自己在做什么,为什么要这样做,以及如何尽可能安全地进行操作。这只是一个糟糕的实践,毫无疑问。应该尽量避免使用私有API。 - Costique
@Costique,请详细说明,我会接受您的答案。谢谢! - Di Wu
1个回答

5
回答你的问题,是的他们的陈述是有逻辑性的。通过一些私有API,你很可能能够访问用户的个人数据。因为你没有提到具体的个人信息,所以无法确定。
对于你思考如何实现这个目标的建议:不要这样做,这对你作为开发者的声誉、客户的声誉(如果这是委托工作),或者你的开发者账户状态来说,都是冒风险的。如果你试图绕过/违反与Apple达成的服务条款,也会受到影响。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接