为什么即使我越狱后,iOS 6.1.1中的SandBox仍然存在?

时间:2013-04-16 00:41:11

标签: iphone ios jailbreak

我安装的应用程序使用Ad-hoc证书进行签名。但它仅适用于越狱 iPhone。

我尝试直接阅读/var/mobile/Library/SMS/sms.db中的SMS数据库。但我发现应用程序无法读取它,因为SandBox进程拒绝了该操作。所以我的问题是在iPhone被越狱之后是否删除了SandBox?

(现在我认为/var/mobile/Applications/中的应用程序仍然受到SandBox的限制。越狱过程不会删除此目录中的SandBox吗?)

3 个答案:

答案 0 :(得分:3)

不幸的是,你猜错了。在越狱设备上,安装到正常位置(/var/mobile/Applications/)的应用程序仍然是沙箱(*请参阅下面的评论)。

越狱并未完全删除沙盒

它允许您运行未经有效Apple证书签名的代码。因此,它还允许您将应用安装到不同的位置。

如果您将应用安装到/Applications/,则可以阅读/var/mobile/Library/SMS/sms.db,因为我描述了in this answer。作为系统应用,您将在沙箱之外。

这与Objective-C或Cocoa Touch与C API无关。如果您只需要使用众所周知的C I / O调用来逃避它,那么它就不会成为沙箱的大部分。

See this other similar answer (to a closed question),进行相关讨论。


更新:请参阅saurik的评论in this online thread。总结是不同的越狱(例如evasi0n,Absinthe,redsn0w)可以以不同的方式影响沙箱。 Saurik的建议当然是完全删除。

答案 1 :(得分:1)

我在前一段时间尝试从iPhone的串口读取时遇到了同样的问题。您的猜测是正确的,即使在越狱后/var/mobile/Applications/中的常规App Store应用仍然受到沙箱限制。系统应用程序不受这些限制的约束,可以在/var/stash/Applications/中找到(或者我认为在iOS 6中路径中有一个标识符),这是安装Cydia的越狱应用程序的地方。

更新:使用Cydia app iFile,我可以打开/var/mobile/Library/SMS/sms.db数据库并查看内容。移动短信应用程序没有特殊的权利文件,因此,如果您将应用程序放在系统应用程序目录中,我认为阅读SMS数据库应该没有问题。

答案 2 :(得分:0)

实际上有一种方法无法使用沙盒帐户。如果您重新启动越狱设备,并且显示Apple bootlogo时,您可以按住音量增大按钮以禁用mobilesubstrate。这允许您的设备启动,就像从未越狱并启用沙箱。要重新启动,请回到越狱状态。就这么简单!