越狱后使用 Xcode 调试第三方 APP

Jul 05, 2020 • 预计阅读时间 1 分钟

App 在上架以后就无法使用 Xcode 调试了,因为允许 Xcode 调试的标识 get-task-allow 已经被去掉。

那么重新给 App 的 entitlements 设置 get-task-allowtrue 就可以调试了。

  1. 安装 ldid (Link Identity Editor)

  2. 开启 get-task-allow,用户安装的 App 都是被安装在 /private/var/containers/Bundle/Application 里。

    因为有沙盒保护,所以路径都使用 UUID 随机化了,比如 GitHub Mobile 在我的手机上的路径就是:60D2C0CB-62E9-4B11-BD66-16286C4D3474/GitHub.app

    使用 SSH 连接手机,在命令行下导出 App 的 entitlements:

    cd GitHub.app
    ldid -e GitHub >> GitHub.xml
    

    编辑 GitHub.xml 我使用的工具是 Filza,开启 get-task-allow

    <key>get-task-allow</key>
    <true/>
    

    编辑好以后保存文件,然后重新签名:

    ldid -SGitHub.xml GitHub
    

    注意:以上命令中的 -S 和参数之间不要有空格,否则命令会出错。

    执行命令之前要做好相关的数据备份,这个命令可能会使 APP 重置(比如微信会清掉所有缓存的数据,包括聊天记录)。

现在重新打开 GitHub.app 就可以被 Xcode 附加调试了:

iOSJailbreak
版权声明:如果转发请带上本文链接和注明来源。

lvv.me

iOS/macOS Developer

CoreText note: Client requested name .SFUI-Regular

iOS 中使用 CSS 的 HLS 颜色