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