我正在开发针对越狱iOS设备的应用程序。它有助于自动执行一些任务。我需要在/ private/var/mobile/Library中创建一个简单的文本文件(实际上是一个.lua文件)。显然,调试器会抛出拒绝访问异常。目前该应用程序被命名为'CreateFile'用于测试。iOS应用程序的root权限
我已经尝试以下步骤来获得root访问权限:
- 构建应用程序正常运行。
- 在应用程序包中创建可执行文件的副本。
打开原始的可执行文件,并替换其内容与此脚本:
#!/bin/bash dir=$(dirname "$0") exec "${dir}"/CreateFile "[email protected]"
直接启动iOS上的根应用失败。因此,我们用启动根可执行文件的脚本替换应用程序的主要可执行文件。
在终端中,导航至应用程序包。
chmod 0775
原始可执行文件和chmod 6775
复制的可执行文件。- 将应用程序包复制到/应用程序到设备。重新启动SpringBoard,你应该很好去。如果应用程序未启动,请在设备上重复步骤5 & 6。
使用此方法,我可以成功地将应用程序安装到/ Applications文件夹并使其启动,但是我期望我仍然没有root权限,因为只要应用程序尝试执行写入操作,它就会崩溃。
如果有人能对这种情况有所了解,我将不胜感激!
编辑:
@creker的建议做了一些额外的测试。当我尝试在应用程序文档等允许的目录中创建文件时,它创建得很好,没有问题。因此,我确信文件创建不会导致崩溃,并且它完全是不可访问的文件夹路径。
同样在@creker的建议我尝试安装应用程序/应用程序没有任何启动脚本。该应用程序崩溃后打开这种方式。如果我在安装后将应用程序可执行文件chmod设置为775,则应用程序将打开,但在尝试创建文件时仍会崩溃。
我从崩溃记者那看着系统日志。这里是死机线:
System.UnauthorizedAccessException: Access to the path "/private/var/mobile/Library/test.txt" is denied
仍然希望能够解决这个问题,任何想法都欢迎!
你不需要根权限来在'/ var/mobile/Library'中创建一个文件。 '/ var/mobile'是'mobile'用户的主目录。除非您受到沙箱规则的限制,否则该目录是完全可访问的。 – creker
然后,我必须受到沙箱规则的限制,因为我在尝试写入该目录时遇到访问被拒绝的违规行为。是否有任何不同的步骤? – Kikootwo
不,你只需要在'/ Applications'目录下。你甚至不需要启动脚本。也许你的应用崩溃的原因不同。 – creker