Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iOS上读取sms.db和call_history.db文件?_Ios_Objective C_Iphone_Jailbreak - Fatal编程技术网

在iOS上读取sms.db和call_history.db文件?

在iOS上读取sms.db和call_history.db文件?,ios,objective-c,iphone,jailbreak,Ios,Objective C,Iphone,Jailbreak,我正在为越狱的iPhone 5s(iOS 7.1.1)开发一个应用程序,以获取存储在相应.db文件中的呼叫日志和消息。我有一些疑问: 我有一个有效的证书、配置配置文件,并且我的应用程序是使用此配置文件签名的,因此是否需要删除此配置文件并使用ldid对应用程序进行签名(如果需要,原因是什么,步骤是什么?) 我的应用程序是否需要具有root权限才能访问数据库(/var/wireless/Library/CallHistory/call_history.db)和(/var/mobile/Library

我正在为越狱的iPhone 5s(iOS 7.1.1)开发一个应用程序,以获取存储在相应.db文件中的呼叫日志和消息。我有一些疑问:

  • 我有一个有效的证书、配置配置文件,并且我的应用程序是使用此配置文件签名的,因此是否需要删除此配置文件并使用ldid对应用程序进行签名(如果需要,原因是什么,步骤是什么?)

  • 我的应用程序是否需要具有root权限才能访问数据库(/var/wireless/Library/CallHistory/call_history.db)和(/var/mobile/Library/SMS/SMS.db),如果需要,如何向我的应用程序授予root权限。我尝试过这个解决方案:但是我用这个方法安装的应用程序在点击时只会显示一个空白屏幕,然后就会消失(我用有效的开发者证书和配置文件签署了我的应用程序)

  • 任何与获取通话记录和短信相关的代码都会很有帮助,我尝试了一些建议的代码,但都不起作用,可能是由于上述问题


  • 访问这些文件的问题不是根权限,而是沙箱规则。只要你离开沙箱,你就可以阅读它们。不知道为什么您的根应用程序无法读取它,但它应该读取。除了沙箱之外,没有其他限制。写入这些数据库需要根权限,但每个人都可以读取它们。我甚至记得我在越狱手机上的AppStore应用程序里读过这些内容。越狱打破了一些沙盒规则,所以你可以在文件系统的任何地方阅读我认为。例如,一些越狱探测器就是这样工作的。

    在模拟器和真实设备上都无法访问用户的SMS消息(除非越狱)。与安卓不同,苹果的隐私限制不允许开发者访问用户的个人数据,如短信、电话等。你可以看到各种各样的例子。例如,在iPhone和Android上尝试Whatsapp注册过程。在这两款手机上,你都会收到一条带有代码的短信,但在Android上,代码会被应用程序神奇地输入和验证,而在iPhone上,你会看到收到的短信,并被要求手动键入代码。

    请阅读。你的问题违反了一些好问题的一般规则。告诉我们“我尝试了一些建议的代码”对我们没有帮助。您尝试了哪种代码?另外,请不要在一篇文章中提出一个以上的问题。把他们分成多个问题。谢谢。谢谢,下次会小心的。我用了下面的代码来读取sms.db文件,但没有成功,我用pangu工具越狱了,它没有违反沙盒规则,所以我的应用程序仍然在沙盒中。可能与iPhone 5S有关。出于某些原因,arm64具有更严格的沙箱。我在iPhone5上测试了它。但这是关于越狱手机上的AppStore应用程序。根应用程序在访问所需内容时没有问题。你甚至不需要在上面签字。你肯定做错了什么。那么是否有必要使用自签名证书来获得根访问权限,或者我可以使用我的有效apple sign证书,我是否应该再次按照上面的链接来获得根访问权限?正如我所说,问题不在于根访问权限,而在于沙箱。
    /var/mobile/applications
    中的所有应用程序都有一个特定的沙盒配置文件。只要您的应用程序在该目录之外,默认情况下就不会应用任何沙箱规则。您可以将其设置为以“移动”用户或“无线”用户的身份运行,这无关紧要。只要你离开沙箱,你就没事。如果没有沙盒,将使用UNIX权限,并允许任何用户读取您想要的内容(读取权限设置为world)。此外,如果应用程序位于该目录之外,您甚至不需要对其进行签名。越狱禁用对非AppStore二进制文件的代码签名检查。