0

プロジェクトにさまざまな種類の機密データを多数保存する必要があります。データは、エンコードされた NSString として表すことができます。ファイルから読み取るよりも、コードでこれを初期化する方が安全なので、むしろ好きです。

したがって、次のような約10万行が必要になります。

[myData addObject: @"String"];

またはこのように

myData[n++] = @"String";

これらの行を Xcode に入れると、コンパイル時間が数時間まで大幅に増加します (ちなみに、Eclipse では、このように 100k 行をコンパイルするのに数分の 1 秒しかかかりません)。

実行可能な安全な代替手段は何ですか?

(ファイルから読み取ることはお勧めしません。これにより、データがクラックされやすくなります)

4

2 に答える 2

3

コード内の文字列は、 などのツールを使用して簡単にダンプできますstrings

とにかく、データ ファイルを実行可能ファイルに直接組み込みたい場合は、-sectcreateリンカー オプションを使用して実行できます。-Wl,-sectcreate,MYSEG,MYSECT,pathOther Linker Commands ビルド設定に次のようなものを追加します。コードでは、 を使用getsectdata()してそのデータ セクションにアクセスできます。

ただし、実際にエンド ユーザーに提供するデータは、コードであろうとリソース ファイルであろうと、"機密" と見なしてはなりません。そうではありませんし、決してありえません。

于 2013-02-10T18:42:26.440 に答える
1

文字列を plist ファイルに入れ、NSArray実行時に読み込みます。セキュリティのために、ファイルを暗号化します。

于 2013-02-10T13:20:08.013 に答える