機密データをサーバーに送信する iOS アプリを構築しており、追加の手段として API 要求に署名しています。リバース エンジニアリングを可能な限り困難にしたいと考えており、Cycript を使用して実世界のアプリの署名キーを見つけたので、プロセスにアタッチしてこれらのキーを見つけるのは難しくないことを知っています。誰かが本当に熟練して十分に努力すれば、最終的には悪用されることを私は完全に認識していますが、私は自分自身とユーザーにとって便利でありながら、できるだけ難しくしようとしています.
ジェイルブレイク状態をチェックして追加の対策を講じることも、SSL ピンニングを行うこともできますが、プロセスにアタッチしてメモリを変更することで、どちらも簡単にバイパスできます。
App Store から拒否されずに、何か(Cycript、gdb、またはプロセスのクラッキングに使用できる同様のツール) がプロセスに接続されているかどうかを検出する方法はありますか?
編集:これはDetecting if iOS app is run in debuggerの複製ではありません。その質問は出力に関連しており、出力ストリームをチェックしてロガーにアタッチされた出力ストリームがあるかどうかを識別しますが、私の質問はそれに関連していません(そのチェックは私の状態をカバーしていません)。