2017-01-25 12 views
2

私は自分のアプリケーションのユーザー名とパスワードをiOSキーチェーンに保存しています。私はAppceleratorを使用してアプリケーションを開発しており、次のようにmoduleを使用しています。 APIを使って、デバイスとシミュレータの両方のCRUD操作をすべて実行できます。 iOSシミュレータ - キーチェーンの内容を表示

は、いくつかのブログやキーチェーンのための侵入テストに関するトピックを読んだ後、私はキーチェーン情報がSQLデータベースに保存されている知っているようになりました。私の目的は、この特定のデータベースを見つけて、その内容を読むことです。私は情報がそこに保存されていることを知りたいが(データは暗号化されていてぎこちない)、アクセスグループを指定する識別子が存在することを期待している。

私は、データベースを開くテーブルをチェックし、コンテンツがそのテーブルに保存されていることを確認します。私はjail-brokenデバイスを持っていないので、iOS 9.3シミュレータでこのタスク全体を実行します。

これはSOまたはない開発問題に関連反している場合は、それを閉じるために改造を要求し、downvoteを与えないだろう。

+0

キーチェーンテーブルをダンプする場合は、脱獄デバイスが必要です。 https://github.com/ptoomey3/Keychain-Dumper。 –

+0

iOS Simulatorを使って同じことをすることはできませんか? – Soumya

+0

https://www.raywenderlich.com/45645/ios-app-security-analysis-part-1、これは古くなったガイドであり、私はそれが現在動作しているかどうかは確認していません。しかし、可能であればシミュレータ上でそれを行う方法の完全なガイドである、と私は思っています。 :) –

答えて

12

これは特に、あなたがそこに「暗号化とちんぷんかんぷん」内容を参照してくださいする用意があることを念頭に持つ、あまりにもハードは何もすべきではありません。

あなたは単に~/Library/Developer/CoreSimulator/Devicesフォルダに行き、アクセスしたいキーチェーンのシミュレータのUUIDを見つけるだけです。どのUUID名前付きフォルダがあなたのシミュレータに属しているかを見つけたら、そのフォルダの中に入り、data/Library/Keychainsフォルダに行きます。

そこでは、あなたが探しているSQLiteデータベースファイルであるkeychain-2-debug.dbファイルが表示されます。その後

は、データベースを参照するhttp://sqlitebrowser.org/のようなツールを使用します。

SQLite browser

私はその後、Browse Dataに行くと、テーブルのためgenpを拾って、このツールを使用してデータベースを開いたとき、私はキーホルダーに書いていたものを見つけることができました。その後、agrpの列のフィールド値を確認します。これは、そのエントリをキーチェーンデータベースに書き込んだユーザーを示しているためです。あなたはそこにTEAMID.com.your.app.bundle.idの値を見つけてあなたのアプリで書いたものを見つけるでしょう。

乾杯お待ちください

関連する問題