将文件复制到iPhone系统文件夹

将文件复制到iPhone系统文件夹,iphone,xcode,jailbreak,Iphone,Xcode,Jailbreak,我正在为越狱的iPhone开发。我需要将一个文件写入(复制)到iPhone系统文件夹(/Library/LaunchDaemons),只有ROOT用户有写入权限。如何通过代码将文件写入此类文件夹。我知道我可以使用NSFileManager的copyItemAtPath:toPath方法来复制文件,但我无法写入,因为我没有在此类文件夹上写入的权限 任何建议???您的应用程序可以以root或setuid root身份运行。与其以root身份运行整个应用程序,不如设计一个小型帮助工具来安装文件。然后,

我正在为越狱的iPhone开发。我需要将一个文件写入(复制)到iPhone系统文件夹(/Library/LaunchDaemons),只有ROOT用户有写入权限。如何通过代码将文件写入此类文件夹。我知道我可以使用NSFileManager的copyItemAtPath:toPath方法来复制文件,但我无法写入,因为我没有在此类文件夹上写入的权限


任何建议???

您的应用程序可以以root或setuid root身份运行。

与其以root身份运行整个应用程序,不如设计一个小型帮助工具来安装文件。然后,只有该辅助工具必须以root用户身份运行


有关SUID二进制文件的更多信息,请查看,这是一个良好的开端。

我想我已经找到了这个问题的答案。要写入系统文件夹,您需要具有在该文件夹上写入的权限。我的应用程序附带了一个守护进程,因此我必须将该守护进程复制到/System/Library/LaunchDaemons以使该守护进程正常工作。因此,当我为JB iphone开发时,人们将使用Cydia安装我的应用程序,为什么不让Cydia将我的应用程序的文件安装到适当的位置呢。我让Cydia将守护程序文件复制到/System/Library/LaunchDaemon文件夹中。现在的问题是Cydia如何知道将文件粘贴到哪里。答案很简单,只要在.deb文件中创建适当的文件夹,cydia就会将位于.deb文件中文件夹中的文件粘贴到.deb文件中

例如,如果您有一个守护进程,并且希望Cydia将其粘贴到/System/Library/LaunchDaemons,则在生成.deb之前,先将文件结构设置为如下所示

+- MyApp
   +- Applications
      +Myapp.app
   +-DEBIAN
    -control
   +-System
     +-Library
       +-LaunchDaemons
         +- com.myLaunchDaemon.plist

Cydia在安装应用程序时会将com.myLaunchDaemon.plist文件粘贴到System/Library/LaunchDaemons中,然后重新启动,您就可以开始了。

怎么做?有关于如何做到这一点的例子吗?希望稍后听到您的程序被用于安装在iPhone上的漏洞攻击。这一点很好。我听说标准版iPhoneOS没有setuid应用程序,iphone的方式是通过launchd+a守护进程。谢谢你的回复。如果我不能以root用户身份运行我的应用程序,那么在私有目录上编写应用程序的最佳方式是什么?请记住,我是为JB iPhone开发的。创建一个小的特权守护程序来为您执行此操作。如果您这样做,您应该使助手应用程序非常有限。它不能将任何文件写入任何目录,否则会有人发现如何利用它来接管安装了你的程序的iPhone。谢谢!这正是我所需要的。干杯