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

时间:2017-01-25 22:38:20

标签: ios keychain

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

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

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

如果这与SO有关或与开发问题无关,请求mod关闭它而不是给予downvote。

1 个答案:

答案 0 :(得分:36)

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

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

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

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

SQLite browser

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

干杯