iOS模拟器 – 查看钥匙串的内容

我在iOS钥匙串中存储我的应用程序的用户名和密码。 我正在使用Appcelerator开发应用程序,并使用以下模块 。 通过API,我可以执行设备和模拟器的所有CRUD操作。

在阅读了关于钥匙串渗透测试的博客和主题之后,我开始知道钥匙串信息存储在SQL数据库中。 我的目标是找到这个特定的数据库,并打开阅读其内容。 我希望看到信息已经存储在那里(接受数据将被加密并且都是乱码)但希望有一个标识符来指定访问组。

我只想打开数据库,检查表并确保内容已保存在该表中。 我将在iOS 9.3模拟器上执行这一整个任务,因为我没有一个越狱设备。

如果这与SO相关或与开发问题无关,则会请求mod关闭它而不是downvote。

这不应该太难,尤其是考虑到你准备在那里看到“加密和乱码”的内容。

您只需转到~/Library/Developer/CoreSimulator/Devices文件夹,找到您想要访问其Keychain的所需模拟器的UUID。 找到属于您的模拟器的UUID命名文件夹后,进入该文件夹并转到data/Library/Keychains文件夹。

在那里,您将看到keychain-2-debug.db文件,它是您正在寻找的SQLite数据库文件。

之后,使用http://sqlitebrowser.org/之类的工具浏览数据库。

SQLite浏览器

当我用这个工具打开数据库,然后去Browse Data并为表格选择genp ,我设法找到了我写入Keychain的东西。 之后,检查agrp列字段值,因为它显示谁将该条目写入Keychain数据库。 您可以通过在那里找到TEAMID.com.your.app.bundle.id值来找到您在应用中编写的内容。

干杯