如主题所述,我的应用程序位于 /Applications 文件夹中,它具有 root 访问权限,但我仍然无法在 /System/Library/CoreServices 中写入/编辑文件。
谁能建议我如何做到这一点?
PS我正在为越狱iOS4(iOS 4 SDK)开发。
好的,得到这个工作,你必须拥有管理员作为组的 root 访问权限,并且 SetUID 标志应该设置为写入该特定位置。我所做的是,我看到了 Cydia.app 的目录结构并据此编译了我的应用程序(例如 Cydia 和 Cydia_)。
将您的应用程序名称重命名为 YourApp_ 并创建一个名为 YourApp 的新文件并将下面的文本发布到其中,设置适当的权限,您就可以开始了。
#!/bin/bash
C=/${0}
C=${C%/*}
declare -a flags
exec "${C:-.}"/MyApp_"${flags[@]}" -- "$@" 2>>/tmp/MyApp.log`
顺便说一句,YourApp 二进制文件也应该拥有 4755 的 setuid 标志权限。
您是否检查过该目录的标志?也许它被设置为“系统不可变”。查看 chflags 命令以了解有关文件标志的更多信息。