gpt4 book ai didi

objective-c - 在 iOS 上为 NSFileManager 获取 root 权限(越狱)

转载 作者:技术小花猫 更新时间:2023-10-29 10:46:26 30 4
gpt4 key购买 nike

我正在尝试将文件写入设备的根分区。这是一个越狱应用程序,因此它安装在/Applications 中。使用 NSFileManager 写入根文件系统时,写入失败并出现“Permission Denied”错误。

我的应用似乎没有以 root 身份运行。它虽然安装在/Applications 中。我的应用程序如何成为根用户?

最佳答案

是的,应用程序必须以 root 身份运行才能访问非移动目录。在与 Optimo 和 Saurik 讨论后,我终于找到了获得 root 权限的正确方法。

  1. 在 main() 函数中添加 setuid(0);setgid(0);
  2. 正常构建应用。
  3. 在应用程序包中创建可执行文件的副本。
  4. 打开原始可执行文件并用此脚本替换其内容:

    #!/bin/bash
    dir=$(dirname "$0")
    exec "${dir}"/COPIED_EXECUTABLE_NAME "$@"

    在 iOS 上直接启动根应用程序失败。因此,我们将应用的主要可执行文件替换为启动根可执行文件的脚本。

  5. 在终端中,导航到应用程序包。

  6. chmod 0775 原始可执行文件和 chmod 6775 复制的可执行文件。
  7. 将应用程序包复制到/Applications 到设备。重启 SpringBoard 就可以了。如果应用没有启动,请在设备上重复第 5 步和第 6 步。

关于objective-c - 在 iOS 上为 NSFileManager 获取 root 权限(越狱),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7841344/

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