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

时间:2014-08-12 10:30:07

标签: ios objective-c iphone jailbreak

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

  1. 我有一个有效的证书,配置文件和我的应用程序是使用此配置文件签名的,所以是否有必要删除此配置文件并使用ldid对应用程序进行签名(如果是,为什么以及步骤是什么?)

  2. 我的应用是否需要拥有访问数据库的root权限(/var/wireless/Library/CallHistory/call_history.db)和(/var/mobile/Library/SMS/sms.db),如果是如何为我的应用授予root权限。我已经尝试了解决方案:Gaining root permissions on IOS for NSFilemanager jailbreak但是使用此方法安装的应用只是在点击时显示一个空白屏幕然后消失(我使用有效的开发人员证书和配置文件签署了我的应用)

  3. 任何与获取call_logs和sms相关的代码都会有所帮助,我尝试了一些建议的代码,但没有一个有效,可能是由于上述问题。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

在模拟器和真实设备上访问用户的SMS消息是不可能的(除非它已越狱)。与Android不同,Apple的隐私限制并不允许开发人员有权访问用户'个人数据,如短信,电话等。您可以看到各种示例。例如,在iPhone和Android上尝试Whatsapp注册过程。在这两者上,您将收到带有代码的短信,但在Android上,代码将被魔法输入并通过应用验证,在iPhone上您将看到收到的短信并被要求手动输入代码。