【问题标题】:How to use Entitlements keys to access private iOS features如何使用权利密钥访问私有 iOS 功能
【发布时间】:2013-08-09 08:18:52
【问题描述】:

根据我从有关 Entitlements plist 的文档中了解到的信息 - 这些文件定义了属性,这些属性使您的应用程序可以访问 iPhone OS 功能(例如推送通知)和安全数据(例如用户的钥匙串)。

公开地,您可以使用的唯一授权密钥是 get-task-allow,它最终使 ptrace() 函数可用于应用程序,从而启用调试。但是有很多权利是私下使用的,例如

  1. task_for_pid-allow,允许控制其他进程(通过 task_for_pid() 函数)
  2. run-unsigned-code,允许在没有签名的情况下运行此应用程序中的代码。
  3. com.apple.springboard.launchapplications、com.apple.springboard.wipedevice 等

我的问题是,是否有人使用这些密钥来访问私有 iOS 功能?我们如何做到这一点?如果我将这些密钥放在我的 Entitlements.plist 中,我将无法进行代码签名并将应用程序放在设备上。

【问题讨论】:

    标签: iphone ios xcode cocoa-touch code-signing-entitlements


    【解决方案1】:

    您需要越狱并安装 AppSync,然后您可以使用您喜欢的任何权利,Xcode 将成功部署该应用程序。

    【讨论】:

      【解决方案2】:

      即使您可以使用正确的权利签署您的可执行文件,您仍然不能这样做。 Apple 通过配置文件来限制这些权利的使用。您可以用来签署应用程序的权利必须是您的配置文件中存在的权利的子集。

      【讨论】:

        猜你喜欢
        • 2016-02-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-05-09
        • 2017-01-19
        • 2022-12-12
        • 1970-01-01
        相关资源
        最近更新 更多