objective-c – 在iOS上获得NSFileManager的根权限(越狱)

前端之家收集整理的这篇文章主要介绍了objective-c – 在iOS上获得NSFileManager的根权限(越狱)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将文件写入设备的根分区.它是一个越狱应用程序,因此它已安装在/ Applications中.当使用NSFileManager写入根文件系统时,写入失败,并显示“权限被拒绝”错误.

似乎我的应用程序没有以root身份运行.它安装在/应用程序中.我的应用程式如何变成根?

解决方法

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

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

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

在iOS上直接启动root应用程序失败.因此,我们用启动根可执行文件的脚本来替换应用程序的主要可执行文件.>在终端中,导航到应用程序包.> chmod 0775原始可执行文件和chmod 6775复制的可执行文件.>将应用程序包复制到/ Applications到设备.重新启动SpringBoard,你应该很好去.如果应用程序不启动,请重复步骤5& 6在设备上.

猜你在找的C&C++相关文章