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

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

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

===============>>#1 票数:3

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

越狱并没有完全删除沙箱

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

但是,如果您将应用程序安装到/Applications/ ,它将能够读取/var/mobile/Library/SMS/sms.db ,正如我在本回答中所述 作为系统应用程序,您将位于沙箱之外。

这与Objective-C或Cocoa Touch与C API无关。 如果您只需要使用众所周知的CI / O调用来逃避它,那么沙盒就不会太多了。

对于一些相关的讨论, 请参阅其他类似的答案(对于一个封闭的问题)


更新:请参阅此在线主题中的 saurik的评论。 总结是不同的越狱(例如evasi0n,Absinthe,redsn0w)可以以不同的方式影响沙箱。 Saurik的建议当然不是完全删除它们。

===============>>#2 票数:1

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

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

===============>>#3 票数:0

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

  ask by SgViTiNer translate from so

未解决问题?本站智能推荐: