我正在尝试将文件写入设备的根分区。这是一个越狱应用程序,因此安装在 /Applications 目录下。使用 NSFileManager
写入根文件系统时,写入操作失败并显示"Permission Denied"错误。
看起来我的应用程序没有以 root 身份运行。虽然它安装在 /Applications 目录下,但是如何使我的应用程序成为 root 呢?
我正在尝试将文件写入设备的根分区。这是一个越狱应用程序,因此安装在 /Applications 目录下。使用 NSFileManager
写入根文件系统时,写入操作失败并显示"Permission Denied"错误。
看起来我的应用程序没有以 root 身份运行。虽然它安装在 /Applications 目录下,但是如何使我的应用程序成为 root 呢?
确实如此,该应用程序必须以root身份运行才能访问非移动目录。在与Optimo和Saurik讨论后,我终于找到了获取root权限的正确方法。
setuid(0);
和setgid(0);
打开原始可执行文件并用以下脚本替换其内容:
#!/bin/bash
dir=$(dirname "$0")
exec "${dir}"/COPIED_EXECUTABLE_NAME "$@"
iOS上直接启动根应用程序会失败。因此,我们使用一个启动根可执行文件的脚本替换应用程序的主要可执行文件。
在终端中导航到应用程序包中。
chmod 0775
原始可执行文件并chmod 6775
复制的可执行文件。