15

起動時にバンドル内のamxmlplistから情報を読み取るアプリケーションを作成しています。plistの情報は、長年の作業を経て編集されたものであり、配布後に他の当事者がアプリバンドルから簡単に抽出できないようにしたいと思います。アプリバンドルに含まれているxmlplistを保護または暗号化する方法はありますか?

どんな助けでも大歓迎です。

4

1 に答える 1

16

plistには組み込みの暗号化機能はありません。多くの人が圧縮を暗号化として扱います。

これが私がすることです、

  1. 暗号化キーを作成します。
  2. を使用してplistをバイナリファイルに暗号化する小さなプログラムを作成しますSecKeyEncrypt()
  3. バイナリファイルをバンドルに入れます。
  4. アプリで、キーをどこかに非表示にします。たとえば、ゴミ捨て場から簡単に見つけられないように、それらを断片として保管します。
  5. アプリを起動するときに、バンドルからバイナリファイルを読み取り、SecKeyDecrypt()キーを使用して復号化し、クリアテキストをメモリに保存します。
  6. クリアテキストはplistであり、メモリからplistをロードします。

キーはバンドルで利用可能であるため、これは依然として難読化と見なされますが、ほとんどのカジュアルなハッカーを阻止するのは十分に困難です。

于 2009-09-23T11:26:47.833 に答える