fromelf によるイメージおよびオブジェクトに含まれるコードの保護

イメージおよびオブジェクトをサードパーティに配布する場合、そこに含まれるコードを保護する必要があります。fromelf には、コードを保護すための --strip オプションと --privacy オプションが用意されています。これらのオプションを使用すると、オブジェクトまたはイメージ内のシンボル名を削除したりあいまいにしたりできます。どちらのオプションを選択するかは、削除する情報の量次第です。これらのオプションの効果は、オブジェクトファイルとイメージと異なります。

Note

これらのオプションは --elf と組み合わせて使用する必要があります。--elf を使用する関係上、--output も必要となります。

Show/hideイメージファイル内のコードの保護

イメージファイルの場合:

Table 1. イメージファイルに対する fromelf の --privacy オプションと--strip オプションの効果

オプションローカルシンボルセクション名マッピングシンボルビルド属性
fromelf --elf --privacy

シンボルテーブル全体が削除されます。

.comment セクション名が削除されます。fromelf --text の出力結果には、これが [Anonymous Section] としてマークされます。

セクション名にデフォルト値が付けられます。例えば、コードセクション名は '.text' に変わります。

fromelf --elf --strip=symbols

シンボルテーブル全体が削除されます。

セクション名は変更されません。

fromelf --elf --strip=localsymbols削除されます。そのまま残ります。削除されます。そのまま残ります。

Show/hideオブジェクトファイル内のコードの保護

オブジェクトファイルの場合:

Table 2. オブジェクトファイルに対する fromelf の --privacy オプションと--strip オプションの効果

オプションローカルシンボルセクション名マッピングシンボルビルド属性
fromelf --elf --privacy

機能を損なうことなく削除できるローカルシンボルは削除されます。

再配置のターゲットなど、削除できないシンボルは維持されます。このようなシンボルについては、名前が削除されます。fromelf --text の出力結果には、これらが [Anonymous Symbol] としてマークされます。

セクション名にデフォルト値が付けられます。例えば、コードセクション名は '.text' に変わります。

そのまま残ります。そのまま残ります。
fromelf --elf --strip=symbols

機能を損なうことなく削除できるローカルシンボルは削除されます。

再配置のターゲットなど、削除できないシンボルは維持されます。このようなシンボルについては、名前が削除されます。fromelf --text の出力結果には、これらが [Anonymous Symbol] としてマークされます。

セクション名は変更されません。

そのまま残ります。そのまま残ります。
fromelf --elf --strip=localsymbols

機能を損なうことなく削除できるローカルシンボルは削除されます。

再配置のターゲットなど、削除できないシンボルは維持されます。このようなシンボルについては、名前が削除されます。fromelf --text の出力結果には、これらが [Anonymous Symbol] としてマークされます。

セクション名は変更されません。

そのまま残ります。そのまま残ります。

Show/hide

シンボルテーブル全体が削除され、各セクション名が変更された新しい ELF 実行可能イメージを生成するには、以下のように入力します。

fromelf --elf --privacy --output=outfile.axf infile.axf

Show/hide関連項目

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0477EJ
Non-ConfidentialID081711